Module: wine Branch: master Commit: b22faf3d0bf68d4b8eb4fd60c6369251595e346e URL: https://source.winehq.org/git/wine.git/?a=commit;h=b22faf3d0bf68d4b8eb4fd60c...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Jun 12 15:06:59 2018 +0200
msvcr100: Fix lldiv implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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)); }