Changeset 426 for trunk/src/kernel32
- Timestamp:
- Aug 5, 1999, 9:50:34 PM (26 years ago)
- Location:
- trunk/src/kernel32
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/KERNEL32.CPP
r255 r426 1 /* $Id: KERNEL32.CPP,v 1.1 0 1999-06-30 16:47:57phaller Exp $ */1 /* $Id: KERNEL32.CPP,v 1.11 1999-08-05 19:50:33 phaller Exp $ */ 2 2 3 3 /* … … 576 576 //****************************************************************************** 577 577 //****************************************************************************** 578 int WIN32API lstrlenA(LPCSTR arg1)579 {580 dprintf(("KERNEL32: OS2lstrlen %X\n", arg1));581 return O32_lstrlen(arg1);582 }583 //******************************************************************************584 //******************************************************************************585 int WIN32API lstrlenW(LPCWSTR arg1)586 {587 int rc;588 589 rc = UniStrlen( (UniChar*)arg1);590 dprintf(("KERNEL32: OS2lstrlenW returns %d\n", rc));591 return rc;592 }593 //******************************************************************************594 //******************************************************************************595 578 LPSTR WIN32API GetEnvironmentStringsA(void) 596 579 { … … 641 624 } 642 625 //****************************************************************************** 643 //******************************************************************************644 LPSTR WIN32API lstrcatA(LPSTR arg1, LPCSTR arg2)645 {646 dprintf(("KERNEL32: OS2lstrcat\n"));647 return O32_lstrcat(arg1, arg2);648 }649 //******************************************************************************650 //******************************************************************************651 LPWSTR WIN32API lstrcatW(LPWSTR arg1, LPCWSTR arg2)652 {653 dprintf(("KERNEL32: OS2lstrcatW\n"));654 UniStrcat( (UniChar*) arg1, (UniChar*) arg2 );655 return arg1;656 }657 //******************************************************************************658 //******************************************************************************659 int WIN32API lstrcmpA(LPCSTR arg1, LPCSTR arg2)660 {661 dprintf(("KERNEL32: OS2lstrcmpA %s %x\n", arg1, arg1));662 dprintf(("KERNEL32: OS2lstrcmpA %s\n", arg2));663 return O32_lstrcmp(arg1, arg2);664 }665 //******************************************************************************666 //******************************************************************************667 int WIN32API lstrcmpW(LPCWSTR arg1, LPCWSTR arg2)668 {669 dprintf(("KERNEL32: OS2lstrcmpW\n"));670 return UniStrcmp( (UniChar*)arg1, (UniChar*)arg2 );671 }672 //******************************************************************************673 //******************************************************************************674 LPSTR WIN32API lstrcpyA(LPSTR arg1, LPCSTR arg2)675 {676 dprintf(("KERNEL32: OS2lstrcpy %s\n", arg2));677 return O32_lstrcpy(arg1, arg2);678 }679 //******************************************************************************680 //******************************************************************************681 LPWSTR WIN32API lstrcpyW(LPWSTR dest, LPCWSTR src)682 {683 dprintf(("KERNEL32: OS2lstrcpyW"));684 UniStrcpy( (UniChar*)dest, (UniChar*)src );685 return dest;686 }687 //******************************************************************************688 //******************************************************************************689 LPSTR WIN32API lstrcpynA(LPSTR arg1, LPCSTR arg2, int arg3)690 {691 register LPSTR p1 = arg1;692 register LPSTR p2 = (LPSTR)arg2;693 694 dprintf(("KERNEL32: OS2lstrcpyA(%08xh, %08xh, %08xh)\n",695 arg1,696 arg2,697 arg3));698 699 //PH: looks like either \0 or arg3 terminate the copy700 //return strncpy(arg1, arg2, arg3);701 arg3--; // pre-decrement to avoid exceeding buffer length702 // results in better code than (arg1 > 1)703 704 for (;*p2 && arg3; arg3--)705 *p1++ = *p2++;706 707 *p1 = 0; //CB: copy arg-1, set end 0708 709 return arg1;710 }711 //******************************************************************************712 //******************************************************************************713 LPWSTR WIN32API lstrcpynW(LPWSTR dest, LPCWSTR src, int arg3)714 {715 dprintf(("KERNEL32: OS2lstrcpynW"));716 if (arg3 == 0) return NULL;717 UniStrncpy( (UniChar*)dest, (UniChar*)src, arg3-1); //CB: copy arg3-1 characters718 dest[arg3-1] = 0; //CB: set end719 return dest;720 }721 //******************************************************************************722 //******************************************************************************723 int WIN32API lstrcmpiA(LPCSTR arg1, LPCSTR arg2)724 {725 dprintf(("KERNEL32: OS2lstrcmpi\n"));726 return O32_lstrcmpi(arg1, arg2);727 }728 //******************************************************************************729 //******************************************************************************730 int WIN32API lstrcmpiW(LPCWSTR arg1, LPCWSTR arg2)731 {732 char *astr1, *astr2;733 int rc;734 735 dprintf(("KERNEL32: OS2lstrcmpiW\n"));736 // NOTE: This function has not equivalent in uunidef.h737 astr1 = UnicodeToAsciiString((LPWSTR)arg1);738 astr2 = UnicodeToAsciiString((LPWSTR)arg2);739 rc = O32_lstrcmpi(astr1, astr2);740 FreeAsciiString(astr2);741 FreeAsciiString(astr1);742 return(rc);743 }744 626 //****************************************************************************** 745 627 //SvL: BUGFIX: C calling convention! -
trunk/src/kernel32/wprocess.cpp
r320 r426 1 /* $Id: wprocess.cpp,v 1.1 5 1999-07-17 09:18:38 sandervlExp $ */1 /* $Id: wprocess.cpp,v 1.16 1999-08-05 19:50:34 phaller Exp $ */ 2 2 3 3 /* … … 34 34 35 35 //Process database 36 PDB ProcessPDB = {0}; 36 PDB ProcessPDB = {0}; 37 37 USHORT ProcessTIBSel = 0; 38 38 DWORD *TIBFlatPtr = 0; … … 85 85 } 86 86 winteb = (TEB *)OS2SelToFlat(tibsel); 87 if(winteb == NULL) 87 if(winteb == NULL) 88 88 { 89 89 dprintf(("InitializeTIB: DosSelToFlat failed!!")); … … 112 112 thdb->OrgTIBSel = GetFS(); 113 113 114 if(OS2GetPIB(PIB_TASKTYPE) == TASKTYPE_PM) 114 if(OS2GetPIB(PIB_TASKTYPE) == TASKTYPE_PM) 115 115 { 116 116 thdb->flags = 0; //todo gui … … 191 191 return SetReturnFS(win32tibsel); 192 192 } 193 else DebugInt3(); 193 // nested calls are OK, OS2ToWinCallback for instance 194 //else DebugInt3(); 194 195 195 196 return GetFS(); … … 197 198 /******************************************************************************/ 198 199 //****************************************************************************** 199 void WIN32API RegisterExe(WIN32EXEENTRY EntryPoint, PIMAGE_TLS_CALLBACK *TlsCallbackAddr, 200 LPDWORD TlsIndexAddr, ULONG TlsInitSize, 200 void WIN32API RegisterExe(WIN32EXEENTRY EntryPoint, PIMAGE_TLS_CALLBACK *TlsCallbackAddr, 201 LPDWORD TlsIndexAddr, ULONG TlsInitSize, 201 202 ULONG TlsTotalSize, LPVOID TlsAddress, 202 203 LONG Win32TableId, LONG NameTableId, LONG VersionResId, … … 247 248 //****************************************************************************** 248 249 //****************************************************************************** 249 ULONG WIN32API RegisterDll(WIN32DLLENTRY pfnDllEntry, PIMAGE_TLS_CALLBACK *TlsCallbackAddr, 250 LPDWORD TlsIndexAddr, ULONG TlsInitSize, 250 ULONG WIN32API RegisterDll(WIN32DLLENTRY pfnDllEntry, PIMAGE_TLS_CALLBACK *TlsCallbackAddr, 251 LPDWORD TlsIndexAddr, ULONG TlsInitSize, 251 252 ULONG TlsTotalSize, LPVOID TlsAddress, 252 253 LONG Win32TableId, LONG NameTableId, LONG VersionResId, … … 256 257 257 258 Win32Dll *winmod = Win32Dll::findModule(hinstance); 258 if(dwAttachType == 0) 259 if(dwAttachType == 0) 259 260 { //Process attach 260 261 if(getenv("WIN32_IOPL2")) {
Note:
See TracChangeset
for help on using the changeset viewer.