diff options
author | Scott Wegner <swegner@hdfgroup.org> | 2007-06-26 16:23:59 (GMT) |
---|---|---|
committer | Scott Wegner <swegner@hdfgroup.org> | 2007-06-26 16:23:59 (GMT) |
commit | 21134e48e135c03ecad8dc35ea5dd803e0e9690b (patch) | |
tree | cae98f5ce6afcacfa151ed1c316d660aef7f3982 | |
parent | 0490b178003d70eeac1ec28791dd2d5cf8064355 (diff) | |
download | hdf5-21134e48e135c03ecad8dc35ea5dd803e0e9690b.zip hdf5-21134e48e135c03ecad8dc35ea5dd803e0e9690b.tar.gz hdf5-21134e48e135c03ecad8dc35ea5dd803e0e9690b.tar.bz2 |
[svn-r13916] Purpose: Fix MinGW inconsistency
Description:
Windows does not accept the buffer size parameter of setvbuf to be less than 2. Previously, we had our fix split between two files, H5private.h and the Windows H5pubconf.h. This was a problem for MinGW, because it generates its own H5private.h. This moves the fix out of H5pubconf.h and into H5private.h.
This shouldn't affect other platforms.
Tested:
MinGW on WinXP
-rw-r--r-- | src/H5private.h | 4 | ||||
-rwxr-xr-x | windows/src/H5pubconf.h | 10 |
2 files changed, 4 insertions, 10 deletions
diff --git a/src/H5private.h b/src/H5private.h index 493818f..184ef7c 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -772,8 +772,12 @@ int HDremove_all(const char * fname); #define HDsetpgid(P,PG) setpgid(P,PG) #define HDsetsid() setsid() #define HDsetuid(U) setuid(U) +/* Windows does not permit setting the buffer size to values + less than 2. */ #ifndef _WIN32 #define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,Z) +#else +#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,(Z>1?Z:2)) #endif #define HDsigaction(N,A) sigaction(N,A) #define HDsigaddset(S,N) sigaddset(S,N) diff --git a/windows/src/H5pubconf.h b/windows/src/H5pubconf.h index 9c4ef9b..aaad8be 100755 --- a/windows/src/H5pubconf.h +++ b/windows/src/H5pubconf.h @@ -188,16 +188,6 @@ in the file file_io.win32.c and including it on the projects /* Check exception handling functions during data conversions */ #define H5_WANT_DCONV_EXCEPTION 1 -#if _MSC_VER >=1400 -/* visual studio 2005 doesn't support size of setvbuf to be less thn 1,This is a hacking, we would like to wait -visual studio 2005 to fix this problem. -*/ - -#define HDsetvbuf(F,S,M,Z) (((Z)>1)?setvbuf(F,S,M,Z):setvbuf(F,S,M,2)) - -#else -#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,Z) -#endif /* uncomment the following line if we want parallel HDF5 support */ |