Mercurial > dwindows
changeset 1860:02a23143334c
Apparently Visual C's "long double" type is "double" for gcc...
So when building with MinGW, we need to compile as "double"
instead of "long double" to maintain ABI compatibility with
Visual C compiled applications.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 01 Mar 2013 13:01:59 +0000 |
parents | b02aa3947562 |
children | c836603d3f14 |
files | dwcompat.c dwcompat.h |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dwcompat.c Fri Mar 01 12:43:36 2013 +0000 +++ b/dwcompat.c Fri Mar 01 13:01:59 2013 +0000 @@ -94,7 +94,11 @@ } #endif +#ifdef __MINGW32__ +double API drivefree(int drive) +#else long double API drivefree(int drive) +#endif { #if defined(__EMX__) || defined(__OS2__) ULONG aulFSInfoBuf[40] = {0}; @@ -196,7 +200,11 @@ #endif } +#ifdef __MINGW32__ +double API drivesize(int drive) +#else long double API drivesize(int drive) +#endif { #if defined(__EMX__) || defined(__OS2__) ULONG aulFSInfoBuf[40] = {0};
--- a/dwcompat.h Fri Mar 01 12:43:36 2013 +0000 +++ b/dwcompat.h Fri Mar 01 13:01:59 2013 +0000 @@ -400,8 +400,13 @@ char * API vargs(char *buf, int len, char *format, ...); int API makedir(char *path); void API setfileinfo(char *filename, char *url, char *logfile); +#ifdef __MINGW32__ +double API drivesize(int drive); +double API drivefree(int drive); +#else long double API drivesize(int drive); long double API drivefree(int drive); +#endif int API isdrive(int drive); void API getfsname(int drive, char *buf, int len); FILE * API fsopen(char *path, char *modes);