diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-04-22 17:26:01 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-04-22 17:26:01 (GMT) |
commit | 1c1679b2d43a14170ee6759f578a2ecad4ab56c1 (patch) | |
tree | e8462f942e88374904821fd56557fba95c99ba6d /src/H5.c | |
parent | 91a34f543da20aee0de3ad2ec2cc58f86750bcf6 (diff) | |
download | hdf5-1c1679b2d43a14170ee6759f578a2ecad4ab56c1.zip hdf5-1c1679b2d43a14170ee6759f578a2ecad4ab56c1.tar.gz hdf5-1c1679b2d43a14170ee6759f578a2ecad4ab56c1.tar.bz2 |
[svn-r356] Changes since 19980421
----------------------
./bin/release
./src/H5.c
./src/H5private.h
./src/H5public.h
./src/H5Fpublic.h
Changed the version number constants to names that begin with
H5_VERS_ and added macros that check that the version numbers
in the include files match the version number of the library.
./MANIFEST
./html/H5.user.html
./html/Version.html [NEW]
./html/version.obj [NEW]
./html/version.gif [NEW]
Documented version numbers and the macros, constants, and
functions associated with them.
./bin/versinc
A perl script that increments the minor version number and
sets the patch level back to zero. This is intended to be
invoked from the top of the source tree by a cvs commit
anywhere in the source tree. Quincey?
./src/H5O.c
./src/H5Oprivate.h
Added H5O_count() to count the number of object header
messages of a particular type. Quincey needs this for the
attribute package.
./test/dsets.c
Fixed warnings. Enabled the small strip-mine buffer test.
./config/linux
Added optimizations for the Pentium-Pro for production mode.
Diffstat (limited to 'src/H5.c')
-rw-r--r-- | src/H5.c | 65 |
1 files changed, 56 insertions, 9 deletions
@@ -312,13 +312,58 @@ H5version(unsigned *majnum, unsigned *minnum, unsigned *relnum, FUNC_ENTER(H5version, FAIL); /* Set the version information */ - if (majnum) *majnum = HDF5_MAJOR_VERSION; - if (minnum) *minnum = HDF5_MINOR_VERSION; - if (relnum) *relnum = HDF5_RELEASE_VERSION; - if (patnum) *patnum = HDF5_PATCH_VERSION; + if (majnum) *majnum = H5_VERS_MAJOR; + if (minnum) *minnum = H5_VERS_MINOR; + if (relnum) *relnum = H5_VERS_RELEASE; + if (patnum) *patnum = H5_VERS_PATCH; FUNC_LEAVE(ret_value); } + + +/*------------------------------------------------------------------------- + * Function: H5vers_check + * + * Purpose: Verifies that the arguments match the version numbers + * compiled into the library. This function is intended to be + * called from user to verify that the versions of header files + * compiled into the application match the version of the hdf5 + * library. + * + * Return: Success: SUCCEED + * + * Failure: abort() + * + * Programmer: Robb Matzke + * Tuesday, April 21, 1998 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +herr_t +H5vers_check (unsigned majnum, unsigned minnum, unsigned relnum, + unsigned patnum) +{ + /* Don't initialize the library quite yet */ + + if (H5_VERS_MAJOR!=majnum || H5_VERS_MINOR!=minnum || + H5_VERS_RELEASE!=relnum || H5_VERS_PATCH!=patnum) { + fputs ("Warning! The HDF5 header files included by this application " + "do not match the\nversion used by the HDF5 library to which " + "this application is linked. Data\ncorruption or segmentation " + "faults would be likely if the application were\nallowed to " + "continue.\n", stderr); + fprintf (stderr, "Headers are %u.%u.%u%c, library is %u.%u.%u%c\n", + majnum, minnum, relnum, 'a'+patnum, + H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, + 'a'+H5_VERS_PATCH); + fputs ("Bye...\n", stderr); + abort (); + } + return SUCCEED; +} + /*------------------------------------------------------------------------- * Function: H5open @@ -792,8 +837,10 @@ H5_timer_begin (H5_timer_t *timer) #ifdef HAVE_GETRUSAGE getrusage (RUSAGE_SELF, &rusage); - timer->utime = rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec/1e6; - timer->stime = rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec/1e6; + timer->utime = (double)rusage.ru_utime.tv_sec + + (double)rusage.ru_utime.tv_usec/1e6; + timer->stime = (double)rusage.ru_stime.tv_sec + + (double)rusage.ru_stime.tv_usec/1e6; #else timer->utime = 0.0; timer->stime = 0.0; @@ -830,9 +877,9 @@ H5_timer_end (H5_timer_t *sum/*in,out*/, H5_timer_t *timer/*in,out*/) assert (timer); H5_timer_begin (&now); - timer->utime = now.utime - timer->utime; - timer->stime = now.stime - timer->stime; - timer->etime = now.etime - timer->etime; + timer->utime = MAX(0.0, now.utime - timer->utime); + timer->stime = MAX(0.0, now.stime - timer->stime); + timer->etime = MAX(0.0, now.etime - timer->etime); if (sum) { sum->utime += timer->utime; |