Nikolay Sivov : msvcrt: Implement llabs().

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 29 15:09:58 CDT 2014


Module: wine
Branch: master
Commit: 60de49770c09223a5282e3f21705c497e5468663
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=60de49770c09223a5282e3f21705c497e5468663

Author: Nikolay Sivov <nsivov at 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;




More information about the wine-cvs mailing list