Piotr Caban : msvcr100: Fix lldiv implementation.

Alexandre Julliard julliard at winehq.org
Wed Jun 13 16:10:52 CDT 2018


Module: wine
Branch: master
Commit: b22faf3d0bf68d4b8eb4fd60c6369251595e346e
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b22faf3d0bf68d4b8eb4fd60c6369251595e346e

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Jun 12 15:06:59 2018 +0200

msvcr100: Fix lldiv implementation.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/math.c         | 9 ++++-----
 dlls/ucrtbase/tests/misc.c | 4 ++--
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index a3af78a..8d5b687 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -1938,12 +1938,11 @@ MSVCRT_ldiv_t CDECL MSVCRT_ldiv(MSVCRT_long num, MSVCRT_long denom)
 /*********************************************************************
  *		lldiv (MSVCR100.@)
  */
-MSVCRT_lldiv_t CDECL MSVCRT_lldiv(MSVCRT_longlong num, MSVCRT_longlong denom)
+MSVCRT_lldiv_t* CDECL MSVCRT_lldiv(MSVCRT_lldiv_t *ret,
+        MSVCRT_longlong num, MSVCRT_longlong denom)
 {
-  MSVCRT_lldiv_t ret;
-
-  ret.quot = num / denom;
-  ret.rem = num % denom;
+  ret->quot = num / denom;
+  ret->rem = num % denom;
 
   return ret;
 }
diff --git a/dlls/ucrtbase/tests/misc.c b/dlls/ucrtbase/tests/misc.c
index 18838a3..354fab1 100644
--- a/dlls/ucrtbase/tests/misc.c
+++ b/dlls/ucrtbase/tests/misc.c
@@ -114,7 +114,7 @@ static int (CDECL *p__ltoa_s)(LONG, char*, size_t, int);
 static char* (CDECL *p__get_narrow_winmain_command_line)(void);
 static int (CDECL *p_sopen_dispatch)(const char *, int, int, int, int *, int);
 static int (CDECL *p_sopen_s)(int *, const char *, int, int, int);
-static MSVCRT_lldiv_t (CDECL *p_lldiv)(LONGLONG,LONGLONG);
+static MSVCRT_lldiv_t* (CDECL *p_lldiv)(MSVCRT_lldiv_t*,LONGLONG,LONGLONG);
 static int (CDECL *p__isctype)(int,int);
 static int (CDECL *p_isblank)(int);
 static int (CDECL *p__isblank_l)(int,_locale_t);
@@ -504,7 +504,7 @@ static void test_lldiv(void)
 {
     MSVCRT_lldiv_t r;
 
-    r = p_lldiv((LONGLONG)0x111 << 32 | 0x222, (LONGLONG)1 << 32);
+    p_lldiv(&r, (LONGLONG)0x111 << 32 | 0x222, (LONGLONG)1 << 32);
     ok(r.quot == 0x111, "quot = %s\n", wine_dbgstr_longlong(r.quot));
     ok(r.rem == 0x222, "rem = %s\n", wine_dbgstr_longlong(r.rem));
 }




More information about the wine-cvs mailing list