summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-11-02 17:58:28 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-11-02 17:58:28 (GMT)
commit254ae8d43d796c02aedfb7393726a80be14b95d5 (patch)
treea8be7fe29a273fb0ae4c21e41625755ae6ae88f9 /src
parenta125ee351ba738a61d35755fbb2880b011ac6649 (diff)
downloadhdf5-254ae8d43d796c02aedfb7393726a80be14b95d5.zip
hdf5-254ae8d43d796c02aedfb7393726a80be14b95d5.tar.gz
hdf5-254ae8d43d796c02aedfb7393726a80be14b95d5.tar.bz2
[svn-r859] Changes since 19981030
---------------------- ./MANIFEST Added new Pablo files HDF5record_RT.h and ProcIDs.h ./acconfig.h ./configure [REGENERATED] ./configure.in ./src/H5.c ./src/H5Vprivate.h ./src/H5config.h.in [REGENERATED] ./src/H5private.h ./src/H5public.h ./test/big.c Added more configuration stuff for the Win32 environment. Removed all the #ifdef WIN32 from the source and replaced them with OS-independent stuff. Specifics follow: Check for non-Posix.1 `st_blocks' field in `struct stat' which is used by the big file test to decide if the file system supports holes. If the st_blocks field isn't present then we just skip the test. Configure checks for <io.h> <sys/resource.h> <sys/time.h> and <winsock.h> and defines HAVE_IO_H, HAVE_SYS_RESOURCE_H, HAVE_SYS_TIME_H and HAVE_WINSOCK_H when they're found. Configure checks whether both <sys/time.h> and <time.h> can be included and defines SYS_TIME_WITH_TIME if so. Otherwise include only <sys/time.h> or <time.h> even if both exist. Configure checks sizeof(__int64) and defines SIZEOF___INT64 to the result or to zero if __int64 isn't defined. The source uses `long long' in preference to `__int64'. Removed null WIN32 definition for `inline' since such a definition already exists in H5config.h Protected gettimeofday() calls in debugging code with HAVE_GETTIMEOFDAY instead of WIN32. ./src/H5F.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fstdio.h ./src/H5P.c ./src/H5Tconv.c ./src/H5private.h Removed #include of system files from library source files and consolodated them into H5private.h where they're protected by various configuration macros (most of them were duplicated there already anyway). ./test/big.c ./test/chunk.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c ./test/fillval.c ./test/flush1.c ./test/flush2.c ./test/iopipe.c ./test/links.c ./test/mount.c ./test/mtime.c ./test/overhead.c ./test/ragged.c ./test/shtype.c ./test/unlink.c Protected system #include's with #ifdef's from H5config.h. Undefined NDEBUG since some of the tests rely on assert() to check return values. Removed WIN32 definitions for __unused__ since this can be controlled by the definition of HAVE_ATTRIBUTE in H5config.h ./test/testhdf5.h Removed the CLEAN_CMD definition because we no longer use it. Albert's cleanup() functions replaced it. ./test/fillval.c Initialized auto hid_t variables to fix warnings in error recovery code when data flow analysis is turned on in compilers. ./test/h5tools.c Initialized an auto variable to fix a compiler warning. ./test/chunk.c ./test/ragged.c The WIN32 had some unsigned variables changed to signed because the compiler generates warnings when coercing unsigned to double(?). I changed them back to unsigned because they really are unsigned quantities. If this the change was just to shut up extraneous warnings then perhaps a compiler flag can do the same; otherwise if the compiler generates bad code then we should supply a patch file instead messing up source code with bug work-arounds. ./src/H5detect.c Protected system #include's with #ifdef's from H5config.h thereby removing a WIN32. If getpwuid() doesn't exist (HAVE_GETPWUID) then we assume that `struct passwd' doesn't exist either (we don't really need it in that case). The H5T_NATIVE_LLONG and H5T_NATIVE_ULLONG are defined in terms of `long long' or else `__int64' or else `long' depending on what's available. ./src/H5Flow.c ./src/H5Ofill.c Added __unused__ to some function arguments that aren't used when assertions are turned off. ./src/H5V.c Changed an auto variable name in some hand-inlined code to get rid of a warning about the variable shadowing a previous auto.
Diffstat (limited to 'src')
-rw-r--r--src/.distdep243
-rw-r--r--src/H5.c56
-rw-r--r--src/H5F.c4
-rw-r--r--src/H5Flow.c5
-rw-r--r--src/H5Fmpio.c3
-rw-r--r--src/H5Fsec2.c3
-rw-r--r--src/H5Fstdio.c3
-rw-r--r--src/H5Gnode.c20
-rw-r--r--src/H5Ofill.c11
-rw-r--r--src/H5P.c2
-rw-r--r--src/H5Rpublic.h12
-rw-r--r--src/H5Tconv.c2
-rw-r--r--src/H5V.c20
-rw-r--r--src/H5Vprivate.h5
-rw-r--r--src/H5config.h.in18
-rw-r--r--src/H5detect.c66
-rw-r--r--src/H5private.h190
-rw-r--r--src/H5public.h32
18 files changed, 361 insertions, 334 deletions
diff --git a/src/.distdep b/src/.distdep
index fbc62fa..24cf35b 100644
--- a/src/.distdep
+++ b/src/.distdep
@@ -25,7 +25,10 @@ H5.o: \
H5Gprivate.h \
H5Gpublic.h \
H5Oprivate.h \
- H5Opublic.h
+ H5Opublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Tprivate.h
H5A.o: \
H5A.c \
H5private.h \
@@ -56,9 +59,7 @@ H5A.o: \
H5MMprivate.h \
H5MMpublic.h \
H5Pprivate.h \
- H5Ppublic.h \
- H5Apkg.h \
- H5Aprivate.h
+ H5Ppublic.h
H5AC.o: \
H5AC.c \
H5private.h \
@@ -69,9 +70,7 @@ H5AC.o: \
H5Fprivate.h \
H5Fpublic.h \
H5Ipublic.h \
- H5Dpublic.h \
- H5Eprivate.h \
- H5Epublic.h
+ H5Dpublic.h
H5B.o: \
H5B.c \
H5private.h \
@@ -87,9 +86,7 @@ H5B.o: \
H5Bpublic.h \
H5Eprivate.h \
H5Epublic.h \
- H5MFprivate.h \
- H5MFpublic.h \
- H5MMprivate.h
+ H5MFprivate.h
H5D.o: \
H5D.c \
H5private.h \
@@ -125,17 +122,13 @@ H5D.o: \
H5MFpublic.h \
H5MMprivate.h \
H5MMpublic.h \
- H5Pprivate.h \
- H5Ppublic.h \
- H5TBprivate.h
+ H5Pprivate.h
H5E.o: \
H5E.c \
H5private.h \
H5public.h \
H5config.h \
- H5Iprivate.h \
- H5Ipublic.h \
- H5Eprivate.h
+ H5Iprivate.h
H5F.o: \
H5F.c \
H5private.h \
@@ -166,11 +159,7 @@ H5F.o: \
H5ACprivate.h \
H5ACpublic.h \
H5Eprivate.h \
- H5Epublic.h \
- H5MMprivate.h \
- H5MMpublic.h \
- H5Pprivate.h \
- H5Ppublic.h
+ H5Epublic.h
H5Farray.o: \
H5Farray.c \
H5private.h \
@@ -196,9 +185,7 @@ H5Farray.o: \
H5Zprivate.h \
H5Zpublic.h \
H5Eprivate.h \
- H5Epublic.h \
- H5MFprivate.h \
- H5MFpublic.h
+ H5Epublic.h
H5Fcore.o: \
H5Fcore.c \
H5private.h \
@@ -206,7 +193,10 @@ H5Fcore.o: \
H5config.h \
H5Eprivate.h \
H5Epublic.h \
- H5Ipublic.h
+ H5Ipublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h
H5Ffamily.o: \
H5Ffamily.c \
H5private.h \
@@ -214,7 +204,10 @@ H5Ffamily.o: \
H5config.h \
H5Eprivate.h \
H5Epublic.h \
- H5Ipublic.h
+ H5Ipublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h
H5Fistore.o: \
H5Fistore.c \
H5private.h \
@@ -240,9 +233,7 @@ H5Fistore.o: \
H5Zprivate.h \
H5Zpublic.h \
H5Eprivate.h \
- H5Epublic.h \
- H5MFprivate.h \
- H5MFpublic.h
+ H5Epublic.h
H5Flow.o: \
H5Flow.c \
H5private.h \
@@ -253,9 +244,7 @@ H5Flow.o: \
H5Ipublic.h \
H5Fprivate.h \
H5Fpublic.h \
- H5Dpublic.h \
- H5MMprivate.h \
- H5MMpublic.h
+ H5Dpublic.h
H5Fmpio.o: \
H5Fmpio.c \
H5private.h \
@@ -281,9 +270,7 @@ H5Fmpio.o: \
H5Sprivate.h \
H5Spublic.h \
H5Zprivate.h \
- H5Zpublic.h \
- H5MMprivate.h \
- H5MMpublic.h
+ H5Zpublic.h
H5Fsec2.o: \
H5Fsec2.c \
H5private.h \
@@ -294,9 +281,7 @@ H5Fsec2.o: \
H5Ipublic.h \
H5Fprivate.h \
H5Fpublic.h \
- H5Dpublic.h \
- H5MMprivate.h \
- H5MMpublic.h
+ H5Dpublic.h
H5Fsplit.o: \
H5Fsplit.c \
H5private.h \
@@ -307,9 +292,7 @@ H5Fsplit.o: \
H5Ipublic.h \
H5Fprivate.h \
H5Fpublic.h \
- H5Dpublic.h \
- H5MFprivate.h \
- H5MFpublic.h
+ H5Dpublic.h
H5Fstdio.o: \
H5Fstdio.c \
H5private.h \
@@ -320,9 +303,7 @@ H5Fstdio.o: \
H5Ipublic.h \
H5Fprivate.h \
H5Fpublic.h \
- H5Dpublic.h \
- H5MMprivate.h \
- H5MMpublic.h
+ H5Dpublic.h
H5G.o: \
H5G.c \
H5private.h \
@@ -355,7 +336,10 @@ H5G.o: \
H5ACprivate.h \
H5ACpublic.h \
H5HLprivate.h \
- H5HLpublic.h
+ H5HLpublic.h \
+ H5Iprivate.h \
+ H5MMprivate.h \
+ H5MMpublic.h
H5Gent.o: \
H5Gent.c \
H5private.h \
@@ -373,7 +357,10 @@ H5Gent.o: \
H5Gprivate.h \
H5Gpublic.h \
H5Bprivate.h \
- H5Bpublic.h
+ H5Bpublic.h \
+ H5HLprivate.h \
+ H5HLpublic.h \
+ H5MMprivate.h
H5Gnode.o: \
H5Gnode.c \
H5private.h \
@@ -404,9 +391,7 @@ H5Gnode.o: \
H5HGpublic.h \
H5Tprivate.h \
H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Zprivate.h
+ H5Sprivate.h
H5Gstab.o: \
H5Gstab.c \
H5private.h \
@@ -435,7 +420,9 @@ H5Gstab.o: \
H5HGpublic.h \
H5Tprivate.h \
H5Tpublic.h \
- H5Sprivate.h
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5HG.o: \
H5HG.c \
H5private.h \
@@ -451,9 +438,7 @@ H5HG.o: \
H5Epublic.h \
H5HGprivate.h \
H5HGpublic.h \
- H5MFprivate.h \
- H5MFpublic.h \
- H5MMprivate.h
+ H5MFprivate.h
H5HL.o: \
H5HL.c \
H5private.h \
@@ -469,17 +454,13 @@ H5HL.o: \
H5Epublic.h \
H5HLprivate.h \
H5HLpublic.h \
- H5MFprivate.h \
- H5MFpublic.h \
- H5MMprivate.h
+ H5MFprivate.h
H5I.o: \
H5I.c \
H5private.h \
H5public.h \
H5config.h \
- H5Iprivate.h \
- H5Ipublic.h \
- H5Eprivate.h
+ H5Iprivate.h
H5MF.o: \
H5MF.c \
H5private.h \
@@ -487,15 +468,16 @@ H5MF.o: \
H5config.h \
H5Eprivate.h \
H5Epublic.h \
- H5Ipublic.h
+ H5Ipublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h
H5MM.o: \
H5MM.c \
H5private.h \
H5public.h \
H5config.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5Ipublic.h
+ H5Eprivate.h
H5O.o: \
H5O.c \
H5private.h \
@@ -521,9 +503,7 @@ H5O.o: \
H5Bpublic.h \
H5HGprivate.h \
H5HGpublic.h \
- H5Tprivate.h \
- H5Tpublic.h \
- H5Sprivate.h
+ H5Tprivate.h
H5Oattr.o: \
H5Oattr.c \
H5private.h \
@@ -549,9 +529,7 @@ H5Oattr.o: \
H5Tpublic.h \
H5Sprivate.h \
H5Spublic.h \
- H5Zprivate.h \
- H5Zpublic.h \
- H5Apkg.h
+ H5Zprivate.h
H5Ocomp.o: \
H5Ocomp.c \
H5private.h \
@@ -574,7 +552,10 @@ H5Ocomp.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Ocont.o: \
H5Ocont.c \
H5private.h \
@@ -597,7 +578,10 @@ H5Ocont.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Odtype.o: \
H5Odtype.c \
H5private.h \
@@ -623,9 +607,7 @@ H5Odtype.o: \
H5Tpublic.h \
H5Sprivate.h \
H5Spublic.h \
- H5Zprivate.h \
- H5Zpublic.h \
- H5Tpkg.h
+ H5Zprivate.h
H5Oefl.o: \
H5Oefl.c \
H5private.h \
@@ -651,9 +633,7 @@ H5Oefl.o: \
H5HGpublic.h \
H5Tprivate.h \
H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Zprivate.h
+ H5Sprivate.h
H5Ofill.o: \
H5Ofill.c \
H5private.h \
@@ -676,7 +656,10 @@ H5Ofill.o: \
H5Bpublic.h \
H5HGprivate.h \
H5HGpublic.h \
- H5Tprivate.h
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h
H5Olayout.o: \
H5Olayout.c \
H5private.h \
@@ -699,7 +682,10 @@ H5Olayout.o: \
H5Tpublic.h \
H5Sprivate.h \
H5Spublic.h \
- H5Zprivate.h
+ H5Zprivate.h \
+ H5Zpublic.h \
+ H5Eprivate.h \
+ H5Epublic.h
H5Omtime.o: \
H5Omtime.c \
H5private.h \
@@ -722,7 +708,10 @@ H5Omtime.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Oname.o: \
H5Oname.c \
H5private.h \
@@ -745,7 +734,10 @@ H5Oname.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Onull.o: \
H5Onull.c \
H5private.h \
@@ -763,7 +755,10 @@ H5Onull.o: \
H5Bpublic.h \
H5HGprivate.h \
H5HGpublic.h \
- H5Tprivate.h
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h
H5Osdspace.o: \
H5Osdspace.c \
H5private.h \
@@ -786,7 +781,10 @@ H5Osdspace.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Oshared.o: \
H5Oshared.c \
H5private.h \
@@ -809,7 +807,10 @@ H5Oshared.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5Ostab.o: \
H5Ostab.c \
H5private.h \
@@ -832,7 +833,10 @@ H5Ostab.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
H5P.o: \
H5P.c \
H5private.h \
@@ -858,9 +862,7 @@ H5P.o: \
H5Spublic.h \
H5Zprivate.h \
H5Zpublic.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5MMprivate.h
+ H5Eprivate.h
H5R.o: \
H5R.c \
H5private.h \
@@ -886,9 +888,7 @@ H5R.o: \
H5Spublic.h \
H5Zprivate.h \
H5Zpublic.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5Rprivate.h
+ H5Eprivate.h
H5RA.o: \
H5RA.c \
H5RAprivate.h \
@@ -916,7 +916,10 @@ H5RA.o: \
H5Zprivate.h \
H5Zpublic.h \
H5Eprivate.h \
- H5Epublic.h
+ H5Epublic.h \
+ H5Iprivate.h \
+ H5MMprivate.h \
+ H5MMpublic.h
H5S.o: \
H5S.c \
H5private.h \
@@ -939,7 +942,10 @@ H5S.o: \
H5Bpublic.h \
H5HGprivate.h \
H5HGpublic.h \
- H5Tprivate.h
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h
H5Sall.o: \
H5Sall.c \
H5private.h \
@@ -962,7 +968,10 @@ H5Sall.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h
+ H5Tpublic.h \
+ H5Zprivate.h \
+ H5Zpublic.h \
+ H5Vprivate.h
H5Shyper.o: \
H5Shyper.c \
H5private.h \
@@ -988,9 +997,7 @@ H5Shyper.o: \
H5Tpublic.h \
H5Zprivate.h \
H5Zpublic.h \
- H5Vprivate.h \
- H5MMprivate.h \
- H5MMpublic.h
+ H5Vprivate.h
H5Smpio.o: \
H5Smpio.c \
H5private.h \
@@ -1011,9 +1018,7 @@ H5Smpio.o: \
H5Oprivate.h \
H5Opublic.h \
H5HGprivate.h \
- H5HGpublic.h \
- H5Tprivate.h \
- H5Tpublic.h
+ H5HGpublic.h
H5Spoint.o: \
H5Spoint.c \
H5private.h \
@@ -1039,9 +1044,7 @@ H5Spoint.o: \
H5HGpublic.h \
H5Tprivate.h \
H5Tpublic.h \
- H5Zprivate.h \
- H5Zpublic.h \
- H5Vprivate.h
+ H5Zprivate.h
H5Sselect.o: \
H5Sselect.c \
H5private.h \
@@ -1067,9 +1070,7 @@ H5Sselect.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h \
- H5Zprivate.h \
- H5Zpublic.h
+ H5Tpublic.h
H5T.o: \
H5T.c \
H5private.h \
@@ -1097,7 +1098,10 @@ H5T.o: \
H5Iprivate.h \
H5Eprivate.h \
H5Epublic.h \
- H5MMprivate.h
+ H5MMprivate.h \
+ H5MMpublic.h \
+ H5Tpkg.h \
+ H5Rprivate.h
H5Tbit.o: \
H5Tbit.c \
H5private.h \
@@ -1115,7 +1119,10 @@ H5Tbit.o: \
H5Dpublic.h \
H5Rprivate.h \
H5Rpublic.h \
- H5Tprivate.h
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Gprivate.h \
+ H5Gpublic.h
H5Tconv.o: \
H5Tconv.c \
H5Iprivate.h \
@@ -1138,9 +1145,7 @@ H5Tconv.o: \
H5Tprivate.h \
H5Tpublic.h \
H5Gprivate.h \
- H5Gpublic.h \
- H5Bprivate.h \
- H5Bpublic.h
+ H5Gpublic.h
H5Tinit.o: \
H5Tinit.c \
H5private.h \
@@ -1161,9 +1166,7 @@ H5Tinit.o: \
H5Rprivate.h \
H5Rpublic.h \
H5Tprivate.h \
- H5Tpublic.h \
- H5Gprivate.h \
- H5Gpublic.h
+ H5Tpublic.h
H5TB.o: \
H5TB.c \
H5private.h \
@@ -1171,7 +1174,10 @@ H5TB.o: \
H5config.h \
H5Iprivate.h \
H5Ipublic.h \
- H5Eprivate.h
+ H5Eprivate.h \
+ H5Epublic.h \
+ H5MMprivate.h \
+ H5MMpublic.h
H5V.o: \
H5V.c \
H5private.h \
@@ -1192,9 +1198,7 @@ H5V.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h \
- H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h
+ H5Tpublic.h
H5Z.o: \
H5Z.c \
H5private.h \
@@ -1220,5 +1224,4 @@ H5Z.o: \
H5Tpublic.h \
H5Sprivate.h \
H5Spublic.h \
- H5Zprivate.h \
- H5Zpublic.h
+ H5Zprivate.h
diff --git a/src/H5.c b/src/H5.c
index 0f58941..02fd278 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -35,18 +35,6 @@ static char RcsId[] = "@(#)$Revision$";
H5_init_interface -- initialize the H5 interface
+ */
-#include <ctype.h>
-#include <errno.h>
-#include <stdarg.h>
-#include <stdio.h>
-#if defined(WIN32)
-#include <time.h>
-#else
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif
-/* We need this on Irix64 even though we've included stdio.h as documented */
-FILE *fdopen(int fd, const char *mode);
/* private headers */
#include <H5private.h> /*library */
@@ -61,6 +49,9 @@ FILE *fdopen(int fd, const char *mode);
#include <H5Tprivate.h> /*data types */
#include <H5Zprivate.h> /*filters */
+/* We need this on Irix64 even though we've included stdio.h as documented */
+FILE *fdopen(int fd, const char *mode);
+
#define PABLO_MASK H5_mask
hbool_t library_initialize_g = FALSE;
@@ -653,27 +644,21 @@ HDfprintf (FILE *stream, const char *fmt, ...)
if (HDstrchr ("ZHhlq", *s)) {
switch (*s) {
case 'H':
- if (sizeof(hsize_t)==sizeof(long)) {
+ if (sizeof(hsize_t)<sizeof(long)) {
+ modifier[0] = '\0';
+ } else if (sizeof(hsize_t)==sizeof(long)) {
HDstrcpy (modifier, "l");
-#if defined(WIN32)
- } else if (sizeof(hsize_t)==sizeof(__int64)) {
-#else
- } else if (sizeof(hsize_t)==sizeof(long long)) {
-#endif
+ } else {
HDstrcpy (modifier, PRINTF_LL_WIDTH);
}
break;
case 'Z':
- if (sizeof(size_t)==sizeof(long)) {
+ if (sizeof(size_t)<sizeof(long)) {
+ modifier[0] = '\0';
+ } else if (sizeof(size_t)==sizeof(long)) {
HDstrcpy (modifier, "l");
-#if defined(WIN32)
- } else if (sizeof(size_t)==sizeof(__int64)) {
-#else
- } else if (sizeof(size_t)==sizeof(long long)) {
-#endif
+ } else {
HDstrcpy (modifier, PRINTF_LL_WIDTH);
- } else if (sizeof(size_t)==sizeof(int)) {
- modifier[0] = '\0';
}
break;
@@ -718,11 +703,7 @@ HDfprintf (FILE *stream, const char *fmt, ...)
long x = va_arg (ap, long);
n = fprintf (stream, template, x);
} else {
-#if defined(WIN32)
- __int64 x = va_arg(ap, __int64);
-#else
- long long x = va_arg (ap, long long);
-#endif
+ int64 x = va_arg(ap, int64);
n = fprintf (stream, template, x);
}
break;
@@ -741,12 +722,8 @@ HDfprintf (FILE *stream, const char *fmt, ...)
unsigned long x = va_arg (ap, unsigned long);
n = fprintf (stream, template, x);
} else {
-#if defined(WIN32)
- unsigned __int64 x = va_arg (ap, unsigned __int64);
-#else
- unsigned long long x = va_arg (ap, unsigned long long);
-#endif
- n = fprintf (stream, template, x);
+ uint64 x = va_arg(ap, uint64);
+ n = fprintf (stream, template, x);
}
break;
@@ -794,6 +771,9 @@ HDfprintf (FILE *stream, const char *fmt, ...)
} else if (sizeof(x->offset)==SIZEOF_LONG_LONG) {
HDstrcat(template, PRINTF_LL_WIDTH);
HDstrcat(template, "d");
+ } else if (sizeof(x->offset)==SIZEOF___INT64) {
+ HDstrcat(template, PRINTF_LL_WIDTH);
+ HDstrcat(template, "d");
}
n = fprintf(stream, template, x->offset);
} else {
@@ -1003,7 +983,6 @@ H5_timer_reset (H5_timer_t *timer)
void
H5_timer_begin (H5_timer_t *timer)
{
-#if !defined(WIN32)
#ifdef HAVE_GETRUSAGE
struct rusage rusage;
#endif
@@ -1024,7 +1003,6 @@ H5_timer_begin (H5_timer_t *timer)
gettimeofday (&etime, NULL);
timer->etime = (double)etime.tv_sec + (double)etime.tv_usec/1e6;
-#endif
}
diff --git a/src/H5F.c b/src/H5F.c
index 5785efe..38f17e9 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -49,10 +49,6 @@ static char RcsId[] = "@(#)$Revision$";
#include <H5Pprivate.h> /*property lists */
#include <H5Tprivate.h> /*data types */
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
/*
* Define the following if you want H5F_block_read() and H5F_block_write() to
* keep track of the file position and attempt to minimize calls to the file
diff --git a/src/H5Flow.c b/src/H5Flow.c
index 5193f36..5b13715 100644
--- a/src/H5Flow.c
+++ b/src/H5Flow.c
@@ -15,9 +15,6 @@
#include <H5Fprivate.h>
#include <H5MMprivate.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#define addr_defined(X) (((uint64)(-1)!=(X)->offset) ? TRUE : FALSE)
#define PABLO_MASK H5F_low
@@ -1017,7 +1014,7 @@ H5F_addr_hash(const haddr_t *addr, uintn mod)
*-------------------------------------------------------------------------
*/
herr_t
-H5F_addr_pack(H5F_t *f, haddr_t *addr, const long objno[2])
+H5F_addr_pack(H5F_t __unused__ *f, haddr_t *addr, const long objno[2])
{
assert(f);
assert(objno);
diff --git a/src/H5Fmpio.c b/src/H5Fmpio.c
index d9ba4b0..1ade4b6 100644
--- a/src/H5Fmpio.c
+++ b/src/H5Fmpio.c
@@ -47,9 +47,6 @@
#include <H5Dprivate.h>
#include <H5MMprivate.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#ifndef HAVE_PARALLEL
/*
* The H5F_mpio_xxxx functions are for parallel I/O only and are
diff --git a/src/H5Fsec2.c b/src/H5Fsec2.c
index 874172b..172ec1c 100644
--- a/src/H5Fsec2.c
+++ b/src/H5Fsec2.c
@@ -19,9 +19,6 @@
#include <H5Fprivate.h>
#include <H5MMprivate.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#define PABLO_MASK H5F_sec2
static hbool_t interface_initialize_g = FALSE;
#define INTERFACE_INIT NULL
diff --git a/src/H5Fstdio.c b/src/H5Fstdio.c
index 5863dd6..ae31305 100644
--- a/src/H5Fstdio.c
+++ b/src/H5Fstdio.c
@@ -13,9 +13,6 @@
#include <H5Fprivate.h>
#include <H5MMprivate.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#define PABLO_MASK H5F_stdio
static hbool_t interface_initialize_g = FALSE;
#define INTERFACE_INIT NULL
diff --git a/src/H5Gnode.c b/src/H5Gnode.c
index 57ad6bd..1107e56 100644
--- a/src/H5Gnode.c
+++ b/src/H5Gnode.c
@@ -20,16 +20,16 @@
#define H5G_PACKAGE /*suppress error message about including H5Gpkg.h */
/* Packages needed by this file... */
-#include <H5private.h> /*library */
-#include <H5ACprivate.h> /*cache */
-#include <H5Bprivate.h> /*B-link trees */
-#include <H5Eprivate.h> /*error handling */
-#include <H5Fprivate.h> /*file access */
-#include <H5Gpkg.h> /*me */
-#include <H5HLprivate.h> /*heap */
-#include <H5MFprivate.h> /*file memory management */
-#include <H5MMprivate.h> /*core memory management */
-#include <H5Oprivate.h> /*header messages */
+#include <H5private.h> /*library */
+#include <H5ACprivate.h> /*cache */
+#include <H5Bprivate.h> /*B-link trees */
+#include <H5Eprivate.h> /*error handling */
+#include <H5Fprivate.h> /*file access */
+#include <H5Gpkg.h> /*me */
+#include <H5HLprivate.h> /*local heap */
+#include <H5MFprivate.h> /*file memory management */
+#include <H5MMprivate.h> /*core memory management */
+#include <H5Oprivate.h> /*header messages */
#define PABLO_MASK H5G_node_mask
diff --git a/src/H5Ofill.c b/src/H5Ofill.c
index 3755e7a..4e680f9 100644
--- a/src/H5Ofill.c
+++ b/src/H5Ofill.c
@@ -61,7 +61,8 @@ static hbool_t interface_initialize_g = FALSE;
*-------------------------------------------------------------------------
*/
static void *
-H5O_fill_decode(H5F_t *f, const uint8 *p, H5O_shared_t *sh)
+H5O_fill_decode(H5F_t __unused__ *f, const uint8 *p,
+ H5O_shared_t __unused__ *sh)
{
H5O_fill_t *mesg=NULL;
void *ret_value = NULL;
@@ -110,7 +111,7 @@ H5O_fill_decode(H5F_t *f, const uint8 *p, H5O_shared_t *sh)
*-------------------------------------------------------------------------
*/
static herr_t
-H5O_fill_encode(H5F_t *f, uint8 *p, const void *_mesg)
+H5O_fill_encode(H5F_t __unused__ *f, uint8 *p, const void *_mesg)
{
const H5O_fill_t *mesg = (const H5O_fill_t *)_mesg;
@@ -201,7 +202,7 @@ H5O_fill_copy(const void *_mesg, void *_dest)
*-------------------------------------------------------------------------
*/
static size_t
-H5O_fill_size(H5F_t *f, const void *_mesg)
+H5O_fill_size(H5F_t __unused__ *f, const void *_mesg)
{
const H5O_fill_t *mesg = (const H5O_fill_t *)_mesg;
@@ -261,8 +262,8 @@ H5O_fill_reset(void *_mesg)
*-------------------------------------------------------------------------
*/
static herr_t
-H5O_fill_debug(H5F_t *f, const void *_mesg, FILE *stream, intn indent,
- intn fwidth)
+H5O_fill_debug(H5F_t __unused__ *f, const void *_mesg, FILE *stream,
+ intn indent, intn fwidth)
{
const H5O_fill_t *mesg = (const H5O_fill_t *)_mesg;
diff --git a/src/H5P.c b/src/H5P.c
index b5517af..164ef19 100644
--- a/src/H5P.c
+++ b/src/H5P.c
@@ -16,8 +16,6 @@ static char RcsId[] = "@(#)$Revision$";
/* $Id$ */
-#include <stdarg.h>
-
/* Private header files */
#include <H5private.h> /* Generic Functions */
#include <H5Iprivate.h> /* IDs */
diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h
index 48a5765..7447694 100644
--- a/src/H5Rpublic.h
+++ b/src/H5Rpublic.h
@@ -24,11 +24,11 @@
* Reference types allowed.
*/
typedef enum {
- H5R_BADTYPE = (-1), /* invalid Reference Type */
- H5R_OBJECT, /* Object reference */
- H5R_DATASET_REGION, /* Dataset Region Reference */
- H5R_INTERNAL, /* Internal Reference */
- H5R_MAXTYPE /* highest type in group (Invalid as true type)*/
+ H5R_BADTYPE = (-1), /*invalid Reference Type */
+ H5R_OBJECT, /*Object reference */
+ H5R_DATASET_REGION, /*Dataset Region Reference */
+ H5R_INTERNAL, /*Internal Reference */
+ H5R_MAXTYPE /*highest type (Invalid as true type) */
} H5R_type_t;
#ifdef LATER
@@ -53,7 +53,7 @@ extern "C" {
/* Functions in H5R.c */
herr_t H5Rcreate(void *ref, hid_t loc_id, const char *name,
- H5R_type_t ref_type, hid_t space_id);
+ H5R_type_t ref_type, hid_t space_id);
hid_t H5Rdereference(hid_t dataset, H5R_type_t ref_type, void *ref);
hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref);
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index f46524f..2e34c36 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -14,8 +14,6 @@
#include <H5Eprivate.h>
#include <H5MMprivate.h>
#include <H5Tpkg.h>
-#include <math.h> /*for ceil() */
-#include <float.h> /*for FLT_MAX and HUGE_VAL */
/* Conversion data for H5T_conv_struct() */
typedef struct H5T_conv_struct_t {
diff --git a/src/H5V.c b/src/H5V.c
index 4a916ab..c7bf735 100644
--- a/src/H5V.c
+++ b/src/H5V.c
@@ -415,7 +415,7 @@ H5V_hyper_copy(intn n, const hsize_t *_size,
{
hsize_t dst_acc; /*accumulator */
hsize_t src_acc; /*accumulator */
- int i; /*counter */
+ int ii; /*counter */
/* init */
dst_stride[n-1] = 1;
@@ -424,17 +424,17 @@ H5V_hyper_copy(intn n, const hsize_t *_size,
src_start = src_offset ? src_offset[n-1] : 0;
/* others */
- for (i=n-2, dst_acc=1, src_acc=1; i>=0; --i) {
- hsize_t tmp1 = dst_acc * (dst_size[i+1] - size[i+1]);
- hsize_t tmp2 = src_acc * (src_size[i+1] - size[i+1]);
+ for (ii=n-2, dst_acc=1, src_acc=1; ii>=0; --ii) {
+ hsize_t tmp1 = dst_acc * (dst_size[ii+1] - size[ii+1]);
+ hsize_t tmp2 = src_acc * (src_size[ii+1] - size[ii+1]);
assert (tmp1<((hsize_t)1<<(8*sizeof(hssize_t)-1)));
assert (tmp2<((hsize_t)1<<(8*sizeof(hssize_t)-1)));
- dst_stride[i] = (hssize_t)tmp1; /*overflow checked*/
- src_stride[i] = (hssize_t)tmp2; /*overflow checked*/
- dst_acc *= dst_size[i+1];
- src_acc *= src_size[i+1];
- dst_start += dst_acc * (dst_offset ? dst_offset[i] : 0);
- src_start += src_acc * (src_offset ? src_offset[i] : 0);
+ dst_stride[ii] = (hssize_t)tmp1; /*overflow checked*/
+ src_stride[ii] = (hssize_t)tmp2; /*overflow checked*/
+ dst_acc *= dst_size[ii+1];
+ src_acc *= src_size[ii+1];
+ dst_start += dst_acc * (dst_offset ? dst_offset[ii] : 0);
+ src_start += src_acc * (src_offset ? src_offset[ii] : 0);
}
}
#endif /* NO_INLINED_CODE */
diff --git a/src/H5Vprivate.h b/src/H5Vprivate.h
index 616202e..b3d55e9 100644
--- a/src/H5Vprivate.h
+++ b/src/H5Vprivate.h
@@ -22,11 +22,6 @@
#define H5V_vector_le_u(N,V1,V2) (H5V_vector_cmp_u (N, V1, V2)<=0)
#define H5V_vector_ge_u(N,V1,V2) (H5V_vector_cmp_u (N, V1, V2)>=0)
-#if defined(WIN32)
-#undef inline
-#define inline
-#endif
-
/* Other functions */
#define H5V_vector_cpy(N,DST,SRC) { \
assert (sizeof(*(DST))==sizeof(*(SRC))); \
diff --git a/src/H5config.h.in b/src/H5config.h.in
index f244669..755ec7e 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -22,6 +22,9 @@
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
/* Define if your <sys/time.h> declares struct tm. */
#undef TM_IN_SYS_TIME
@@ -53,6 +56,9 @@
/* Define if `struct timezone' is defined */
#undef HAVE_STRUCT_TIMEZONE
+/* The number of bytes in a __int64. */
+#undef SIZEOF___INT64
+
/* The number of bytes in a double. */
#undef SIZEOF_DOUBLE
@@ -116,9 +122,21 @@
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
+/* Define if you have the <io.h> header file. */
+#undef HAVE_IO_H
+
+/* Define if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if you have the <winsock.h> header file. */
+#undef HAVE_WINSOCK_H
+
/* Define if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
diff --git a/src/H5detect.c b/src/H5detect.c
index bbd9ba9..9979135 100644
--- a/src/H5detect.c
+++ b/src/H5detect.c
@@ -30,19 +30,33 @@ static const char *FileHeader = "\n\
*-------------------------------------------------------------------------
*/
#undef NDEBUG
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#if !defined(WIN32)
-#include <unistd.h>
-#include <sys/time.h>
-#include <pwd.h>
+#include <H5config.h>
+
+/* See H5private.h for how to include files */
+#ifdef STDC_HEADERS
+# include <assert.h>
+# include <math.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
#endif
-#include <H5config.h>
+#ifdef HAVE_UNISTD_H
+# include <sys/types.h>
+# include <unistd.h>
+#endif
+#ifdef _POSIX_VERSION
+# include <pwd.h>
+#endif
+
+#if defined(TIME_WITH_SYS_TIME)
+# include <sys/time.h>
+# include <time.h>
+#elif defined(HAVE_SYS_TIME_H)
+# include <sys/time.h>
+#else
+# include <time.h>
+#endif
#define MAXDETECT 16
@@ -801,11 +815,15 @@ print_header(void)
time_t now = time(NULL);
struct tm *tm = localtime(&now);
- struct passwd *pwd = NULL;
char real_name[30];
char host_name[256];
int i;
const char *s;
+#ifdef HAVE_GETPWUID
+ struct passwd *pwd = NULL;
+#else
+ int pwd = 1;
+#endif
static const char *month_name[] =
{
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
@@ -895,7 +913,7 @@ bit.\n";
if (pwd || real_name[0] || host_name[0]) {
printf(" *\t\t\t");
if (real_name[0]) printf("%s <", real_name);
-#if !defined(WIN32)
+#ifdef HAVE_GETPWUID
if (pwd) fputs(pwd->pw_name, stdout);
#endif
if (host_name[0]) printf("@%s", host_name);
@@ -953,23 +971,21 @@ main(void)
DETECT_I(long, LONG, d[nd]); nd++;
DETECT_I(unsigned long, ULONG, d[nd]); nd++;
-#if SIZEOF_LONG == SIZEOF_LONG_LONG
+#if SIZEOF_LONG_LONG > SIZEOF_LONG
+ DETECT_I(long long, LLONG, d[nd]); nd++;
+ DETECT_I(unsigned long long, ULLONG, d[nd]); nd++;
+#elif SIZEOF___INT64 > SIZEOF_LONG
+ DETECT_I(__int64, LLONG, d[nd]); nd++;
+ DETECT_I(unsigned __int64, ULLONG, d[nd]); nd++;
+#else
/*
- * If sizeof(long)==sizeof(long long) then assume that `long long' isn't
- * supported and use `long' instead. This suppresses warnings on some
- * systems.
+ * This architecture doesn't support an integer type larger than `long'
+ * so we'll just make H5T_NATIVE_LLONG the same as H5T_NATIVE_LONG.
*/
DETECT_I(long, LLONG, d[nd]); nd++;
DETECT_I(unsigned long, ULLONG, d[nd]); nd++;
-#else
-#if defined(WIN32)
- DETECT_I(__int64, LLONG, d[nd]); nd++;
- DETECT_I(unsigned __int64, ULLONG, d[nd]); nd++;
-#else
- DETECT_I(long long, LLONG, d[nd]); nd++;
- DETECT_I(unsigned long long, ULLONG, d[nd]); nd++;
-#endif
#endif
+
DETECT_F(float, FLOAT, d[nd]); nd++;
DETECT_F(double, DOUBLE, d[nd]); nd++;
diff --git a/src/H5private.h b/src/H5private.h
index 25e93f6..2769269 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1,70 +1,90 @@
-/****************************************************************************
- * NCSA HDF *
- * Software Development Group *
- * National Center for Supercomputing Applications *
- * University of Illinois at Urbana-Champaign *
- * 605 E. Springfield, Champaign IL 61820 *
- * *
- * For conditions of distribution and use, see the accompanying *
- * hdf/COPYING file. *
- * *
- ****************************************************************************/
-
-/* $Id$ */
-
/*
- * This file contains macros & private information for general HDF5 functions.
- * Every HDF5 source file will include this file immediately after any
- * system include files but before any other private include files.
+ * Copyright (C) 1998 NCSA
+ * All rights reserved.
+ *
+ * Programmer: Robb Matzke <matzke@llnl.gov>
+ * Friday, October 30, 1998
+ *
+ * Purpose: This file is included by all HDF5 library source files to
+ * define common things which are not defined in the HDF5 API.
+ * The configuration constants like HAVE_UNISTD_H etc. are
+ * defined in H5config.h which is included by H5public.h.
*/
#ifndef _H5private_H
#define _H5private_H
#include <H5public.h> /* Include Public Definitions */
-/* Version #'s of the major components of the file format */
-#define HDF5_BOOTBLOCK_VERSION 0 /* of the boot block format */
-#define HDF5_FREESPACE_VERSION 0 /* of the Free-Space Info */
-#define HDF5_OBJECTDIR_VERSION 0 /* of the Object Directory format */
-#define HDF5_SHAREDHEADER_VERSION 0 /* of the Shared-Header Info */
-
-/*
- * Status return values for the `herr_t' type.
- * Since some unix/c routines use 0 and -1 (or more precisely, non-negative
- * vs. negative) as their return code, and some assumption had been made in
- * the code about that, it is important to keep these constants the same
- * values. When checking the success or failure of an integer-valued
- * function, remember to compare against zero and not one of these two
- * values.
- */
-#define SUCCEED 0
-#define FAIL (-1)
-#define UFAIL (unsigned)(-1)
-
-
/*
- * Include those things that almost all source files need.
+ * Include ANSI-C header files.
*/
#ifdef STDC_HEADERS
# include <assert.h>
# include <ctype.h>
+# include <errno.h>
# include <fcntl.h>
+# include <float.h>
+# include <math.h>
+# include <stdarg.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
-# include <time.h>
+#endif
-#if defined(WIN32)
-# include<sys\types.h>
-# include<io.h>
-#define F_OK 00
-#define R_OK 04
-#define W_OK 02
-#else
-# include <sys/time.h>
+/*
+ * If _POSIX_VERSION is defined in unistd.h then this system is Posix.1
+ * compliant. Otherwise all bets are off.
+ */
+#ifdef HAVE_UNISTD_H
# include <sys/types.h>
# include <unistd.h>
-#endif /*if defined(WIN32)*/
+#endif
+#ifdef _POSIX_VERSION
+# include <sys/stat.h>
+# include <sys/wait.h>
+# include <pwd.h>
+#endif
+/*
+ * If a program may include both `time.h' and `sys/time.h' then
+ * TIME_WITH_SYS_TIME is defined (see AC_HEADER_TIME in configure.in).
+ * On some older systems, `sys/time.h' includes `time.h' but `time.h' is not
+ * protected against multiple inclusion, so programs should not explicitly
+ * include both files. This macro is useful in programs that use, for example,
+ * `struct timeval' or `struct timezone' as well as `struct tm'. It is best
+ * used in conjunction with `HAVE_SYS_TIME_H', whose existence is checked
+ * by `AC_CHECK_HEADERS(sys/time.h)' in configure.in.
+ */
+#if defined(TIME_WITH_SYS_TIME)
+# include <sys/time.h>
+# include <time.h>
+#elif defined(HAVE_SYS_TIME_H)
+# include <sys/time.h>
+#else
+# include <time.h>
+#endif
+
+/*
+ * Resource usage is not Posix.1 but HDF5 uses it anyway for some performance
+ * and debugging code if available.
+ */
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+/*
+ * Win32 is severely broken when it comes to ANSI-C and Posix.1 compliance.
+ */
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
+#ifdef HAVE_WINSOCK_H
+# include <winsock.h>
+# include <winsock2.h>
+#endif
+#ifndef F_OK
+# define F_OK 00
+# define W_OK 02
+# define R_OK 04
#endif
/*
@@ -77,44 +97,64 @@
# include "ProcIDs.h"
#endif
-/* Does the compiler support the __attribute__(()) syntax? */
-#ifndef HAVE_ATTRIBUTE
+/*
+ * Does the compiler support the __attribute__(()) syntax? This is how gcc
+ * suppresses warnings about unused function arguments. It's no big deal if
+ * we don't.
+ */
+#ifdef HAVE_ATTRIBUTE
+# define __unused__ __attribute__((unused))
+#else
# define __attribute__(X) /*void*/
# define __unused__ /*void*/
-#else
-# define __unused__ __attribute__((unused))
-#endif
-
-#if defined(WIN32)
-#undef __unused__
-#define __unused__
#endif
-/* Does the compiler expand __FUNCTION__? */
+/*
+ * Does the compiler expand __FUNCTION__ to be the name of the function
+ * currently being defined? If not then define it to be some constant
+ * string.
+ */
#ifndef HAVE_FUNCTION
-# define __FUNCTION__ "NoFuntionName"
+# define __FUNCTION__ "NoFunctionName"
#endif
+/* Version #'s of the major components of the file format */
+#define HDF5_BOOTBLOCK_VERSION 0 /* of the boot block format */
+#define HDF5_FREESPACE_VERSION 0 /* of the Free-Space Info */
+#define HDF5_OBJECTDIR_VERSION 0 /* of the Object Directory format */
+#define HDF5_SHAREDHEADER_VERSION 0 /* of the Shared-Header Info */
+
+/*
+ * Status return values for the `herr_t' type.
+ * Since some unix/c routines use 0 and -1 (or more precisely, non-negative
+ * vs. negative) as their return code, and some assumption had been made in
+ * the code about that, it is important to keep these constants the same
+ * values. When checking the success or failure of an integer-valued
+ * function, remember to compare against zero and not one of these two
+ * values.
+ */
+#define SUCCEED 0
+#define FAIL (-1)
+#define UFAIL (unsigned)(-1)
+
/* number of members in an array */
#ifndef NELMTS
# define NELMTS(X) (sizeof(X)/sizeof(X[0]))
#endif
/* minimum of two, three, or four values */
-#ifndef MIN
-# define MIN(a,b) (((a)<(b)) ? (a) : (b))
-# define MIN2(a,b) MIN(a,b)
-# define MIN3(a,b,c) MIN(a,MIN(b,c))
-# define MIN4(a,b,c,d) MIN(MIN(a,b),MIN(c,d))
-#endif
+#undef MIN
+#define MIN(a,b) (((a)<(b)) ? (a) : (b))
+#define MIN2(a,b) MIN(a,b)
+#define MIN3(a,b,c) MIN(a,MIN(b,c))
+#define MIN4(a,b,c,d) MIN(MIN(a,b),MIN(c,d))
/* maximum of two, three, or four values */
-#ifndef MAX
-# define MAX(a,b) (((a)>(b)) ? (a) : (b))
-# define MAX2(a,b) MAX(a,b)
-# define MAX3(a,b,c) MAX(a,MAX(b,c))
-# define MAX4(a,b,c,d) MAX(MAX(a,b),MAX(c,d))
-#endif
+#undef MAX
+#define MAX(a,b) (((a)>(b)) ? (a) : (b))
+#define MAX2(a,b) MAX(a,b)
+#define MAX3(a,b,c) MAX(a,MAX(b,c))
+#define MAX4(a,b,c,d) MAX(MAX(a,b),MAX(c,d))
/* limit the middle value to be within a range (inclusive) */
#define RANGE(LO,X,HI) MAX(LO,MIN(X,HI))
@@ -178,13 +218,11 @@ typedef unsigned uint64;
typedef long int64;
typedef unsigned long uint64;
#elif SIZEOF_LONG_LONG==8
-#if defined(WIN32)
-typedef __int64 int64;
-typedef unsigned __int64 uint64;
-#else
typedef long long int64;
typedef unsigned long long uint64;
-#endif
+#elif SIZEOF___INT64==8
+typedef __int64 int64;
+typedef unsigned __int64 uint64;
#else
# error "no 64-bit integer type"
#endif
diff --git a/src/H5public.h b/src/H5public.h
index 3c4ec4e..6e49151 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -27,10 +27,10 @@
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 1 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 6 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 20 /* For tweaks, bug-fixes, or development */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
- H5_VERS_RELEASE)
+ H5_VERS_RELEASE)
/*
* Status return values. Failed integer functions in HDF5 result almost
@@ -64,24 +64,22 @@ typedef int herr_t;
typedef unsigned int hbool_t;
typedef int htri_t;
-
/*
- * The sizes of file-objects in hdf5 have their own types defined here. On
- * most systems, these are the same as size_t and ssize_t, but on systems
- * with small address spaces these are defined to be larger.
+ * The sizes of file objects have their own types defined here. If large
+ * sizes are enabled then use a 64-bit data type, otherwise use the size of
+ * memory objects.
*/
-#if defined(HAVE_LARGE_HSIZET) && SIZEOF_SIZE_T<SIZEOF_LONG_LONG
-#if defined(WIN32)
-typedef unsigned __int64 hsize_t;
-typedef signed __int64 hssize_t;
-typedef signed int ssize_t;
-#else
-typedef unsigned long long hsize_t;
-typedef signed long long hssize_t;
-#endif
+#ifdef HAVE_LARGE_HSIZET
+# if SIZEOF_LONG_LONG==8
+typedef unsigned long long hsize_t;
+typedef signed long long hssize_t;
+# elif SIZEOF___INT64==8
+typedef unsigned __int64 hsize_t;
+typedef signed __int64 hssize_t;
+# endif
#else
-typedef size_t hsize_t;
-typedef ssize_t hssize_t;
+typedef size_t hsize_t;
+typedef ssize_t hssize_t;
#endif
#ifdef __cplusplus