From 22da0dd5f8025d8e842229290e3e07207483ce1a Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 10 Sep 2007 20:00:55 +0000 Subject: [PATCH] windows-largeinteger-20070910 Fix the function type so that assignment of return values are properly applied. Add missing comparison routines. --- src/WINNT/client_osi/largeint.h | 15 --------------- src/WINNT/client_osi/osi.h | 3 +++ src/WINNT/client_osi/osiutils.c | 10 +++++----- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/WINNT/client_osi/largeint.h b/src/WINNT/client_osi/largeint.h index 393b69bcd..e877ba48d 100644 --- a/src/WINNT/client_osi/largeint.h +++ b/src/WINNT/client_osi/largeint.h @@ -29,7 +29,6 @@ extern "C" { // LARGE_INTEGER -WINAPI LargeIntegerAdd ( LARGE_INTEGER Addend1, LARGE_INTEGER Addend2 @@ -40,7 +39,6 @@ LargeIntegerAdd ( // LARGE_INTEGER -WINAPI EnlargedIntegerMultiply ( LONG Multiplicand, LONG Multiplier @@ -51,7 +49,6 @@ EnlargedIntegerMultiply ( // LARGE_INTEGER -WINAPI EnlargedUnsignedMultiply ( ULONG Multiplicand, ULONG Multiplier @@ -62,7 +59,6 @@ EnlargedUnsignedMultiply ( // ULONG -WINAPI EnlargedUnsignedDivide ( IN ULARGE_INTEGER Dividend, IN ULONG Divisor, @@ -74,7 +70,6 @@ EnlargedUnsignedDivide ( // LARGE_INTEGER -WINAPI ExtendedMagicDivide ( LARGE_INTEGER Dividend, LARGE_INTEGER MagicDivisor, @@ -86,7 +81,6 @@ ExtendedMagicDivide ( // LARGE_INTEGER -WINAPI ExtendedLargeIntegerDivide ( LARGE_INTEGER Dividend, ULONG Divisor, @@ -98,7 +92,6 @@ ExtendedLargeIntegerDivide ( // LARGE_INTEGER -WINAPI LargeIntegerDivide ( LARGE_INTEGER Dividend, LARGE_INTEGER Divisor, @@ -110,7 +103,6 @@ LargeIntegerDivide ( // LARGE_INTEGER -WINAPI ExtendedIntegerMultiply ( LARGE_INTEGER Multiplicand, LONG Multiplier @@ -121,7 +113,6 @@ ExtendedIntegerMultiply ( // LARGE_INTEGER -WINAPI LargeIntegerNegate ( LARGE_INTEGER Subtrahend ); @@ -131,7 +122,6 @@ LargeIntegerNegate ( // LARGE_INTEGER -WINAPI LargeIntegerSubtract ( LARGE_INTEGER Minuend, LARGE_INTEGER Subtrahend @@ -157,7 +147,6 @@ LargeIntegerSubtract ( // LARGE_INTEGER -WINAPI ConvertLongToLargeInteger ( LONG SignedInteger ); @@ -167,7 +156,6 @@ ConvertLongToLargeInteger ( // LARGE_INTEGER -WINAPI ConvertUlongToLargeInteger ( ULONG UnsignedInteger ); @@ -178,21 +166,18 @@ ConvertUlongToLargeInteger ( // LARGE_INTEGER -WINAPI LargeIntegerShiftLeft ( LARGE_INTEGER LargeInteger, CCHAR ShiftCount ); LARGE_INTEGER -WINAPI LargeIntegerShiftRight ( LARGE_INTEGER LargeInteger, CCHAR ShiftCount ); LARGE_INTEGER -WINAPI LargeIntegerArithmeticShift ( LARGE_INTEGER LargeInteger, CCHAR ShiftCount diff --git a/src/WINNT/client_osi/osi.h b/src/WINNT/client_osi/osi.h index 6ecacc2e8..9f5a6f3e7 100644 --- a/src/WINNT/client_osi/osi.h +++ b/src/WINNT/client_osi/osi.h @@ -49,6 +49,9 @@ LARGE_INTEGER ConvertLongToLargeInteger(unsigned long a); #define LargeIntegerEqualTo(a, b) \ ((a).HighPart == (b).HighPart && (a).LowPart == (b).LowPart) +#define LargeIntegerGreaterThanZero(a) \ + ((a).HighPart > 0 || ((a).HighPart == 0 && (a).LowPart != 0)) + #define LargeIntegerGreaterOrEqualToZero(a) ((a).HighPart >= 0) #define LargeIntegerLessThanZero(a) ((a).HighPart < 0) diff --git a/src/WINNT/client_osi/osiutils.c b/src/WINNT/client_osi/osiutils.c index 9d5a91e83..c9918cde2 100644 --- a/src/WINNT/client_osi/osiutils.c +++ b/src/WINNT/client_osi/osiutils.c @@ -76,7 +76,7 @@ void __RPC_API MIDL_user_free(void *p) } #if (_MSC_VER >= 1300) -LARGE_INTEGER LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b) +LARGE_INTEGER /* WINAPI */ LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b) { LARGE_INTEGER result; int carry; @@ -85,7 +85,7 @@ LARGE_INTEGER LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b) result.HighPart=a.HighPart+b.HighPart+ carry; return result; } -LARGE_INTEGER LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b) +LARGE_INTEGER /* WINAPI */ LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b) { LARGE_INTEGER result; int borrow; @@ -94,7 +94,7 @@ LARGE_INTEGER LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b) result.HighPart=a.HighPart-b.HighPart- borrow; return result; } -LARGE_INTEGER ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsigned long *remainder) +LARGE_INTEGER /* WINAPI */ ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsigned long *remainder) { LARGE_INTEGER result; ULONGLONG a1,q1,r1; @@ -115,7 +115,7 @@ LARGE_INTEGER ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsig *remainder=(unsigned long)(r1 & 0xffffffff); return result; } -LARGE_INTEGER LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER *remainder) +LARGE_INTEGER /* WINAPI */ LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER *remainder) { LARGE_INTEGER result; ULONGLONG a1,b1,q1,r1; @@ -144,7 +144,7 @@ LARGE_INTEGER LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER return result; } -LARGE_INTEGER ConvertLongToLargeInteger(unsigned long a) +LARGE_INTEGER /* WINAPI */ ConvertLongToLargeInteger(unsigned long a) { LARGE_INTEGER result; result.HighPart=0; -- 2.39.5