- Timestamp:
- Jun 25, 1999, 3:59:02 PM (26 years ago)
- Location:
- trunk/src/NTDLL
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/NTDLL/crt.cpp
r156 r188 1 /* $Id: crt.cpp,v 1. 2 1999-06-22 17:08:16phaller Exp $ */1 /* $Id: crt.cpp,v 1.3 1999-06-25 13:59:01 phaller Exp $ */ 2 2 3 3 /* … … 14 14 #include <wchar.h> 15 15 #include <wcstr.h> 16 #include <wctype.h> 16 17 17 18 #include "ntdll.h" … … 24 25 25 26 27 /***************************************************************************** 28 * Name : 29 * Purpose : 30 * Parameters: 31 * Variables : 32 * Result : 33 * Remark : NTDLL.882 34 * Status : 35 * 36 * Author : Patrick Haller [Thu, 1999/06/22 20:44] 37 *****************************************************************************/ 38 39 LPWSTR CDECL OS2_wcsupr(LPWSTR str) 40 { 41 DWORD dwIndex; 42 43 dprintf(("NTDLL: _wcsupr(%08xh)\n", 44 str)); 45 46 for (dwIndex = wcslen((const wchar_t*)str); 47 dwIndex; 48 dwIndex--) 49 { 50 towupper(str[dwIndex]); 51 } 52 53 return (str); 54 } 55 56 26 57 27 58 /***************************************************************************** … … 317 348 return (isupper(i)); 318 349 } 350 351 352 /***************************************************************************** 353 * Name : 354 * Purpose : 355 * Parameters: 356 * Variables : 357 * Result : 358 * Remark : NTDLL.911 359 * Status : 360 * 361 * Author : Patrick Haller [Thu, 1999/06/22 20:44] 362 *****************************************************************************/ 363 364 LPSTR CDECL OS2sprintf(LPSTR lpstrBuffer, 365 LPSTR lpstrFormat, 366 ...) 367 { 368 va_list argptr; /* -> variable argument list */ 369 370 dprintf(("NTDLL: sprintf(%08xh,%s)\n", 371 lpstrBuffer, 372 lpstrFormat)); 373 374 va_start(argptr, 375 lpstrFormat); /* get pointer to argument list */ 376 vsprintf(lpstrBuffer, 377 lpstrFormat, 378 argptr); 379 va_end(argptr); /* done with variable arguments */ 380 381 return (lpstrBuffer); 382 } 383 319 384 320 385 -
trunk/src/NTDLL/makefile
r155 r188 1 # $Id: makefile,v 1. 4 1999-06-22 16:18:14phaller Exp $1 # $Id: makefile,v 1.5 1999-06-25 13:59:01 phaller Exp $ 2 2 3 3 # … … 30 30 initterm.obj\ 31 31 crt.obj\ 32 time.obj 32 time.obj\ 33 unknown.obj 33 34 34 35 … … 73 74 crt.obj: .\crt.cpp .\ntdll.h 74 75 76 unknown.obj: .\unknown.cpp .\ntdll.h 77 75 78 clean: 76 79 $(RM) *.obj *.lib *.dll *~ *.map *.pch -
trunk/src/NTDLL/ntdll.def
r156 r188 1 ; $Id: ntdll.def,v 1. 7 1999-06-22 17:08:16phaller Exp $1 ; $Id: ntdll.def,v 1.8 1999-06-25 13:59:01 phaller Exp $ 2 2 3 3 ;Created by BLAST for IBM's compiler … … 32 32 33 33 ; real functions 34 NtAllocateUuids = _NtAllocateUuids@16 @59 35 ZwAllocateUuids = _NtAllocateUuids@16 36 34 37 NtOpenFile = _NtOpenFile@24 @127 35 38 ZwOpenFile = _NtOpenFile@24 … … 264 267 RtlNtStatusToDosError = _RtlNtStatusToDosError@4 @442 265 268 RtlGetNtProductType = _RtlGetNtProductType@4 @390 269 RtlEnlargedIntegerMultiply = _RtlEnlargedIntegerMultiply@8 @341 270 RtlExtendedIntegerMultiply = _RtlExtendedIntegerMultiply@12 @358 266 271 RtlExtendedLargeIntegerDivide = _RtlExtendedLargeIntegerDivide@16 @359 267 ; RtlExtendedLargeIntegerMultiply268 272 RtlFormatCurrentUserKeyPath = _RtlFormatCurrentUserKeyPath@4 @371 269 273 RtlOpenCurrentUser = _RtlOpenCurrentUser@8 … … 281 285 ; NTDLL's C runtime 282 286 ; Note: CDECL does not decorate the function names with parameter bytes! 287 _wcsupr = _OS2_wcsupr @882 283 288 abs = _OS2abs @883 284 289 atan = _OS2atan @884 … … 296 301 isupper = _OS2isupper @896 297 302 303 sprintf = _OS2sprintf @911 298 304 strcat = _OS2strcat @914 299 305 strchr = _OS2strchr @915 -
trunk/src/NTDLL/rtl.cpp
r97 r188 1 /* $Id: rtl.cpp,v 1. 2 1999-06-10 17:06:46phaller Exp $ */1 /* $Id: rtl.cpp,v 1.3 1999-06-25 13:59:02 phaller Exp $ */ 2 2 3 3 /* … … 528 528 529 529 /****************************************************************************** 530 * RtlEnlargedIntegerMultiply [NTDLL.341] 531 * Note: This even works, since gcc returns 64bit values in eax/edx just like 532 * the caller expects. However... The relay code won't grok this I think. 533 * 534 * @@@PH: Parameters are unknown 535 */ 536 /* longlong in VAC++ ? */ 537 538 INT WINAPI RtlEnlargedIntegerMultiply(INT factor1, 539 INT factor2) 540 { 541 dprintf(("NTDLL: RtlEnlargedIntegerMultiply(%08xh,%08xh) not implemented.\n", 542 factor1, 543 factor2)); 544 545 return factor1 * factor2; 546 } 547 548 549 /****************************************************************************** 530 550 * RtlExtendedLargeIntegerDivide [NTDLL.359] 531 551 */ … … 551 571 552 572 /****************************************************************************** 553 * RtlExtendedLargeIntegerMultiply [NTDLL.35 9]573 * RtlExtendedLargeIntegerMultiply [NTDLL.358] 554 574 * Note: This even works, since gcc returns 64bit values in eax/edx just like 555 575 * the caller expects. However... The relay code won't grok this I think. 556 576 */ 557 #if 0558 577 /* longlong in VAC++ ? */ 559 long long WINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1, 560 INT factor2) 561 { 562 #if SIZEOF_LONG_LONG==8 563 return (*(long long*)&factor1) * factor2;564 #else 565 dprintf(("NTDLL: RtlExtended LargeIntegerMultiply(%08xh,%08xh) not implemented.\n",578 579 LARGE_INTEGER WINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1, 580 INT factor2) 581 { 582 LARGE_INTEGER li; 583 584 dprintf(("NTDLL: RtlExtendedIntegerMultiply(%08xh,%08xh) not implemented.\n", 566 585 factor1, 567 586 factor2)); 568 587 569 return 0; 570 #endif 571 } 572 #endif 588 li.LowPart = factor1.LowPart * factor2; 589 li.HighPart = factor1.HighPart * factor2; 590 // note: overflow from LowPart To HighPart NOT handled ! 591 592 return li; 593 } 594 595 573 596 /****************************************************************************** 574 597 * RtlFormatCurrentUserKeyPath [NTDLL.371]
Note:
See TracChangeset
for help on using the changeset viewer.