diff --git a/dlls/crtdll/crtdll.spec b/dlls/crtdll/crtdll.spec index 23946049fd1..ba953f1060e 100644 --- a/dlls/crtdll/crtdll.spec +++ b/dlls/crtdll/crtdll.spec @@ -112,7 +112,7 @@ @ cdecl _fsopen(str str long) msvcrt._fsopen @ cdecl _fstat(long ptr) CRTDLL__fstat @ cdecl _ftime(ptr) msvcrt._ftime -@ cdecl _ftol() msvcrt._ftol +@ cdecl -ret64 _ftol() msvcrt._ftol @ cdecl _fullpath(ptr str long) msvcrt._fullpath @ cdecl _futime(long ptr) msvcrt._futime @ cdecl _gcvt( double long str) msvcrt._gcvt diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index ead694f5d24..4948745ad65 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -243,7 +243,7 @@ @ cdecl _fstat(long ptr) MSVCRT__fstat @ cdecl _fstati64(long ptr) @ cdecl _ftime(ptr) -@ cdecl _ftol() ntdll._ftol +@ cdecl -ret64 _ftol() ntdll._ftol @ cdecl _fullpath(ptr str long) @ cdecl _futime(long ptr) @ cdecl _gcvt(double long str) diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec index e8a87dd619b..9b30f648156 100644 --- a/dlls/msvcrtd/msvcrtd.spec +++ b/dlls/msvcrtd/msvcrtd.spec @@ -271,7 +271,7 @@ @ cdecl _fstat(long ptr) msvcrt._fstat @ cdecl _fstati64(long ptr) msvcrt._fstati64 @ cdecl _ftime(ptr) msvcrt._ftime -@ cdecl _ftol() ntdll._ftol +@ cdecl -ret64 _ftol() ntdll._ftol @ cdecl _fullpath(ptr str long) msvcrt._fullpath @ cdecl _futime(long ptr) msvcrt._futime @ cdecl _gcvt( double long str) msvcrt._gcvt diff --git a/dlls/ntdll/misc.c b/dlls/ntdll/misc.c index ff46d996f7d..13fb4526914 100644 --- a/dlls/ntdll/misc.c +++ b/dlls/ntdll/misc.c @@ -54,13 +54,13 @@ LPCSTR debugstr_us( const UNICODE_STRING *us ) * [GNUC && i386] */ #if defined(__GNUC__) && defined(__i386__) -LONG __cdecl NTDLL__ftol(void) +LONGLONG __cdecl NTDLL__ftol(void) { /* don't just do DO_FPU("fistp",retval), because the rounding * mode must also be set to "round towards zero"... */ double fl; POP_FPU(fl); - return (LONG)fl; + return (LONGLONG)fl; } #endif /* defined(__GNUC__) && defined(__i386__) */ @@ -73,10 +73,10 @@ LONG __cdecl NTDLL__ftol(void) * [!GNUC && i386] */ #if !defined(__GNUC__) && defined(__i386__) -LONG __cdecl NTDLL__ftol(double fl) +LONGLONG __cdecl NTDLL__ftol(double fl) { FIXME("should be register function\n"); - return (LONG)fl; + return (LONGLONG)fl; } #endif /* !defined(__GNUC__) && defined(__i386__) */ diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 7ac6797aed1..3be2fef16e0 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -908,7 +908,7 @@ @ stdcall -ret64 _aullrem(long long long long) @ stdcall -register -i386 _chkstk() NTDLL_chkstk @ stub _fltused -@ cdecl _ftol() NTDLL__ftol +@ cdecl -ret64 _ftol() NTDLL__ftol @ cdecl _i64toa(long long ptr long) @ cdecl _i64tow(long long ptr long) @ cdecl _itoa(long ptr long)