RFH: div()/ldiv() compatibility

Alexandre Julliard julliard at winehq.org
Wed Nov 26 15:08:32 CST 2003


"Dimitrie O. Paun" <dpaun at rogers.com> writes:

> If you have any suggestions on how such a macro might
> look like, I'm all eyers!

I'd suggest something along these lines:

Index: include/msvcrt/stdlib.h
===================================================================
RCS file: /opt/cvs-commit/wine/include/msvcrt/stdlib.h,v
retrieving revision 1.14
diff -u -p -r1.14 stdlib.h
--- include/msvcrt/stdlib.h	28 Oct 2003 21:13:13 -0000	1.14
+++ include/msvcrt/stdlib.h	26 Nov 2003 21:03:17 -0000
@@ -242,6 +242,28 @@ static inline _onexit_t onexit(_onexit_t
 static inline int putenv(const char* str) { return _putenv(str); }
 static inline void swab(char* src, char* dst, int len) { _swab(src, dst, len); }
 static inline char* ultoa(unsigned long value, char* str, int radix) { return _ultoa(value, str, radix); }
+
+#ifdef __i386__
+static inline div_t __wine_msvcrt_div(int num, int denom)
+{
+    div_t ret;
+    __int64 res = div(num,denom);
+    ret.quot = (int)res;
+    ret.rem  = (int)(res >> 32);
+    return ret;
+}
+static inline ldiv_t __wine_msvcrt_ldiv(long num, long denom)
+{
+    ldiv_t ret;
+    __int64 res = ldiv(num,denom);
+    ret.quot = (long)res;
+    ret.rem  = (long)(res >> 32);
+    return ret;
+}
+#define div(num,denom) __wine_msvcrt_div(num,denom)
+#define ldiv(num,denom) __wine_msvcrt_ldiv(num,denom)
+#endif
+
 #endif /* USE_MSVCRT_PREFIX */
 
 #endif /* __WINE_STDLIB_H */

-- 
Alexandre Julliard
julliard at winehq.com



More information about the wine-devel mailing list