Module: wine Branch: master Commit: 60de49770c09223a5282e3f21705c497e5468663 URL: http://source.winehq.org/git/wine.git/?a=commit;h=60de49770c09223a5282e3f217...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Fri Aug 29 20:31:18 2014 +0400
msvcrt: Implement llabs().
---
dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcrt/math.c | 8 ++++++++ dlls/msvcrt/msvcrt.h | 1 + 4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index aee50c0..7135638 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1726,7 +1726,7 @@ @ cdecl labs(long) MSVCRT_labs @ cdecl ldexp(double long) MSVCRT_ldexp @ cdecl ldiv(long long) MSVCRT_ldiv -@ stub llabs +@ cdecl -ret64 llabs(int64) MSVCRT_llabs @ stub lldiv @ cdecl localeconv() MSVCRT_localeconv @ cdecl log(double) MSVCRT_log diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 2f9ad70..39ad037 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -2085,7 +2085,7 @@ @ cdecl labs(long) MSVCRT_labs @ cdecl ldexp(double long) MSVCRT_ldexp @ cdecl ldiv(long long) MSVCRT_ldiv -@ stub llabs +@ cdecl -ret64 llabs(int64) MSVCRT_llabs @ stub lldiv @ cdecl localeconv() MSVCRT_localeconv @ cdecl log(double) MSVCRT_log diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 3a1aa1d..d67b2e8 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -766,6 +766,14 @@ MSVCRT_long CDECL MSVCRT_labs( MSVCRT_long n ) }
/********************************************************************* + * llabs (MSVCRT.@) + */ +MSVCRT_longlong CDECL MSVCRT_llabs( MSVCRT_longlong n ) +{ + return n >= 0 ? n : -n; +} + +/********************************************************************* * _abs64 (MSVCRT.@) */ __int64 CDECL _abs64( __int64 n ) diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 3349c9f..6c4e763 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -67,6 +67,7 @@ typedef unsigned short MSVCRT__ino_t; typedef unsigned int MSVCRT__fsize_t; typedef int MSVCRT_long; typedef unsigned int MSVCRT_ulong; +typedef __int64 MSVCRT_longlong; #ifdef _WIN64 typedef unsigned __int64 MSVCRT_size_t; typedef __int64 MSVCRT_intptr_t;