diff options
author | Chris Sutcliffe <ir0nh34d@users.sourceforge.net> | 2011-05-23 06:54:21 +0400 |
---|---|---|
committer | Chris Sutcliffe <ir0nh34d@users.sourceforge.net> | 2011-05-23 06:54:21 +0400 |
commit | 1e9f1055754a225a2a62a0b106b513ed3f3107be (patch) | |
tree | 63cca242a91050c2913628017a9e2de026e50e06 /winsup/mingw | |
parent | 69080f58f04a0892b26e218d5cbb056da930a891 (diff) |
2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
* mingwex/mingw-fseek.c: The anonymous union feature for LARGE_INTEGER is
not always available, go the long way and use the explicit named union
members, which are also declared in winnt.h.
Diffstat (limited to 'winsup/mingw')
-rw-r--r-- | winsup/mingw/ChangeLog | 12 | ||||
-rw-r--r-- | winsup/mingw/mingwex/mingw-fseek.c | 16 |
2 files changed, 17 insertions, 11 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 4c5de35c8..047d07c80 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,11 +1,17 @@ 2011-05-22 Antoine LECA <antoinel@users.sourceforge.net> - * mingwex/isblank.c: Fix typo in declaration. + * mingwex/mingw-fseek.c: The anonymous union feature for LARGE_INTEGER is + not always available, go the long way and use the explicit named union + members, which are also declared in winnt.h. 2011-05-22 Antoine LECA <antoinel@users.sourceforge.net> - * include/_mingw.h: Define GCC system_header only if PCC is not defined. - * include/stdlib.h: Fix a long-standing typo which prevented correct use of + * mingwex/isblank.c: Fix typo in declaration. + +2011-05-22 Antoine LECA <antoinel@users.sourceforge.net> + + * include/_mingw.h: Define GCC system_header only if PCC is not defined. + * include/stdlib.h: Fix a long-standing typo which prevented correct use of the MB_CUR_MAX macro/variable when DECLSPEC is not supported and <stdlib.h> is included before <ctype.h>. diff --git a/winsup/mingw/mingwex/mingw-fseek.c b/winsup/mingw/mingwex/mingw-fseek.c index b4f45cc7e..9a13957be 100644 --- a/winsup/mingw/mingwex/mingw-fseek.c +++ b/winsup/mingw/mingwex/mingw-fseek.c @@ -47,16 +47,16 @@ __mingw_fwrite (const void *buffer, size_t size, size_t count, FILE *fp) LARGE_INTEGER current_position = {{0LL}}; __mingw_fseek_called = 0; fflush (fp); - actual_length.LowPart = GetFileSize ((HANDLE) _get_osfhandle (fileno (fp)), - &actual_length.HighPart); - if (actual_length.LowPart == 0xFFFFFFFF + actual_length.u.LowPart = GetFileSize ((HANDLE) _get_osfhandle (fileno (fp)), + &actual_length.u.HighPart); + if (actual_length.u.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR ) return -1; - current_position.LowPart = SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)), - current_position.LowPart, - ¤t_position.HighPart, + current_position.u.LowPart = SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)), + current_position.u.LowPart, + ¤t_position.u.HighPart, FILE_CURRENT); - if (current_position.LowPart == 0xFFFFFFFF + if (current_position.u.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR ) return -1; @@ -102,5 +102,5 @@ __mingw_fwrite (const void *buffer, size_t size, size_t count, FILE *fp) FlushFileBuffers ((HANDLE) _get_osfhandle (fileno (fp))); } } - return fwrite (buffer, size, count, fp); + return (fwrite) (buffer, size, count, fp); } |