* include/io.h (__mingw_access): New static inline wrapper to restore

pre-Vista 'access (fname, X_OK)'  behaviour.
	(__USE_MINGW_ACCESS): Use to map access() to __mingw_access().
This commit is contained in:
Danny Smith 2007-03-05 08:25:32 +00:00
parent 5643b1ee86
commit 3315e811a4
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-03-05 Danny Smith <dannysmith@users.sourceforge.net>
* include/io.h (__mingw_access): New static inline wrapper to restore
pre-Vista 'access (fname, X_OK)' behaviour.
(__USE_MINGW_ACCESS): Use to map access() to __mingw_access().
2007-03-05 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/fesetround.c (fesetround): Use unsigned int as operand

View File

@ -293,6 +293,15 @@ _CRTIMP int __cdecl unlink (const char*);
_CRTIMP int __cdecl write (int, const void*, unsigned int);
#endif /* _UWIN */
#ifdef __USE_MINGW_ACCESS
/* Old versions of MSVCRT access() just ignored X_OK, while the version
shipped with Vista, returns an error code. This will restore the
old behaviour */
static inline int __mingw_access (const char* __fname, int __mode)
{ return _access (__fname, __mode & ~X_OK); }
#define access(__f,__m) __mingw_access (__f, __m)
#endif
/* Wide character versions. Also declared in wchar.h. */
/* Where do these live? Not in libmoldname.a nor in libmsvcrt.a */
#if 0