summaryrefslogtreecommitdiffstats
path: root/Changes
diff options
context:
space:
mode:
Diffstat (limited to 'Changes')
-rw-r--r--Changes10676
1 files changed, 10676 insertions, 0 deletions
diff --git a/Changes b/Changes
new file mode 100644
index 0000000..30828ec
--- /dev/null
+++ b/Changes
@@ -0,0 +1,10676 @@
+ -*- indented-text -*-
+==============================================================================
+
+Changes since 19991019
+----------------------
+
+./MANIFEST
+./configure.in
+ Added more checking for `make' features.
+
+./Makefile.in
+./doc/Makefile.in
+./doc/html/Makefile.in
+./doc/html/Tutor/Makefile.in
+./examples/Makefile.in
+./pablo/Makefile.in
+./src/Makefile.in
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+./config/commence.in
+./config/conclude.in
+./config/depend.in [REMOVED]
+./config/depend1.in [NEW]
+./config/depend2.in [NEW]
+./config/depend3.in [NEW]
+./config/depend4.in [NEW]
+./config/dependN.in [NEW]
+ The directory search stuff was moved into commence.in, thereby
+ shortening the Makefile.in prologues.
+
+./doc/html/Dependencies [NEW]
+./doc/html/Tutor/Dependencies [NEW]
+./examples/Dependencies [NEW]
+./src/Dependencies [NEW]
+./test/Dependencies [NEW]
+./testpar/Dependencies [NEW]
+./tools/Dependencies [NEW]
+ The `.distdep' files were all renamed to `Dependencies' to make them
+ more obvious. They are required (but may be empty) in every directory
+ that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
+ obvious error from make if you forgot to create one).
+
+./bin/trace
+./src/H5.c
+ Added H5E_major_t and H5E_minor_t although tracing only prints the
+ integer value.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added tracing information.
+
+./src/H5FDcore.c
+./src/H5FDfamily.c
+./src/H5FDgass.c
+./src/H5FDmpio.c
+./src/H5FDsec2.c
+./src/H5FDstdio.c
+ Fixed places where FUNC_LEAVE() evaluated it's argument more than
+ once.
+
+ Added tracing information.
+
+ Wrapped long lines.
+
+./config/gnu-flags
+ Fixed a syntax error when we don't have a gnu compiler.
+
+
+
+Changes since 19991007
+----------------------
+
+./configure.in
+./src/H5config.h.in [REGENERATED]
+ The /usr/ncsa/{include,lib} directories are only added if they
+ actually exist. This fixes a warning on some systems.
+
+ Checks for the <pdb.h> header file and also for either the PDB or Silo
+ library, and if found prepares to compile the pdb2hdf program.
+
+./config/distdep
+ Relative path names for include files are changed to base names since
+ the makefile contains the logic for searching and since it's likely
+ that building the .distdep files happed from a location other than
+ where they would be used in the file system.
+
+./config/conclude.in
+ Fixed shell errors when `for' loops iterate over nothing for the
+ `uninstall' target.
+
+./src/H5D.c
+./src/H5Oefl.c
+ File names for the external files are added to the heap when the
+ dataset is created instead of when the object header is written. This
+ fixes a rare infinite recursion bug.
+
+./src/H5FD.c
+./src/H5FDpublic.h
+ Optimization to the free list causes H5FD_alloc() usage to go from >10
+ seconds to <0.4 second for one example (converting a 30MB equation of
+ state file from PDB to HDF5 format). The optimization is to simply
+ keep track of the largest item in the free list and not search the
+ free list when the largest item is not big enough to satisfy the
+ request.
+
+./src/H5FDcore.c
+./src/H5FDcore.h
+./test/h5test.c
+ If the `backing_store' property is true then a flush causes the entire
+ contents of memory to be written to the specified file. This is in
+ preparation for the ASCI/red optimizations and is currently tested by
+ the pdb2hdf `--cached' switch.
+
+./src/H5Odtypes.c
+ Wrapped three long lines.
+
+./tools/Makefile.in
+./tools/pdb2hdf.c [NEW]
+ A PDB-to-HDF5 translator. It only translates meta data -- the
+ resulting HDF5 points into the PDB file for the raw data.
+
+Changes since 19991007
+----------------------
+
+./src/H5FDcore.c
+ Includes private headers instead of public in order to use the
+ `UNUSED' macro.
+
+./src/H5FDpublic.h
+ Includes H5public.h just in case.
+
+./src/H5P.c
+ Removed two unused variables in H5P_copy()
+
+./src/H5FDgass.h
+ Fixed a C++ comment after a `#endif'
+
+./src/Makefile.in
+ The H5FDgass.h file is public and must be installed in order for
+ applications to be able to use HDF5.
+
+./tools/h5tools.c
+ Removed an unused variable.
+
+./tools/h5ls.c
+ Fixed an error message when the file cannot be opened.
+
+./src/Makefile.in
+ H5FDgass.h is a public header file that needs to be installed.
+
+Changes since 19990915
+----------------------
+
+./src/H5public.h
+ We undefine a bunch of things that could get redefined in the config
+ file because some customers have applications that include headers
+ from multiple packages, all of which might be using autoconf.
+
+ Include <stdint.h> for the C9x types.
+
+./test/h5test.h
+ More flushing of stdout for when testing is redirected down a pipe.
+
+./tools/h5ls.c
+ Added a `-S' or `--simple' switch which causes the output to be
+ simplified somewhat for easier parsing by other scripts. For instance,
+ characters are escaped using a very simple mechanism instead of C's
+ more complicated backslash notation, data doesn't have `{}' or `[]'
+ characters interspersed for compound and array types, and data is
+ printed with exactly one element per line. This switch is now used by
+ an HDF5-to-HTML CGI script being developed for the DMF people.
+
+./tools/h5tools.c
+./tools/h5tools.h
+ The repeat threshold which controls how strings are printed when a
+ character repeats a bunch of times is now settable at runtime instead
+ of compile time. The default is to show all characters, like
+
+ "abceeeeeeeeeeeeeeeeeeeeeeeeeeeeeefgh"
+
+ But if you set it to something like 5 then any sequence of 5 or more
+ characters is replaced by something shorter, like:
+
+ "abc" 'e'x30 "fgh" or
+
+ Added an `str_locale' property which describes how to escape special
+ characters in strings. The default is C-like escapes but an
+ alternative is ESCAPE_HTML which replaces all non-alphanumeric
+ characters with a 3-character HTML escape of the form `%XX'
+
+ Fixed a bug where empty strings didn't even have the quote characters
+ printed. Now empty strings show up as `""' instead of absolutely
+ nothing.
+
+ Added a `per_line' property which controls the maximum number of
+ elements which will appear per line of output. The default is infinity
+ but in practice the right margin causes line breaks. By setting the
+ `per_line' value to one and the right margin to a very large value one
+ can achieve output with exactly one element per line.
+
+
+
+Changes since 19990826
+----------------------
+
+./src/H5O.c [1.2, 1.3]
+ Fixed a read-uninitialized-memory error that resulted in the
+ file containing small amounts (<8 bytes each) of uninitialized
+ data. These padding areas (which are never read by hdf5) are
+ initialized to zero now.
+
+./MANIFEST
+./src/H5Z.c
+./src/H5Zdeflate.c [NEW]
+./src/H5Zprivate.h
+./src/H5Zpublic.h
+./src/Makefile.in
+ The zlib filter was moved to a separate file but is still
+ automatically defined.
+
+Changes since 19990826
+----------------------
+
+./src/libhdf5.settings.in [1.2, 1.3]
+ Added C proprocessor flags and non-library linker flags to the
+ description.
+
+./src/H5T.c [1.2, 1.3]
+ Changed return type in tracing macros to H5Tenum_nameof() and
+ H5Tenum_valueof().
+
+Changes since 19990825
+----------------------
+
+./src/H5O.c [1.2, 1.3]
+ Initialzed the padding area between the end of a message and
+ the end of the space allocated for that message. This
+ hopefully fixes an UMR error found by Quincey and prevents the
+ file from containing unwanted data.
+
+./tools/h5ls.c [1.2, 1.3]
+ Fixed a bug where the `Data:' tag didn't get printed for
+ attributes that have more than five values.
+
+Changes since 19990824
+----------------------
+
+./src/H5private.h
+ Re-committed recent changes that got clobbered in the pablo update.
+ Albert, the source tree should be compilable again now...
+
+./configure.in [1.2, 1.3]
+./configure [REGENERATED]
+./Makefile.in
+ Fixed a couple spelling errors.
+
+Changes since 19990820
+----------------------
+
+./src/H5D.c
+ Added additional elements to a variable initializer in
+ H5Dvlen_get_buf_size() to shut up a warning message. Also
+ added the API tracing call.
+
+./src/H5F.c
+ Added file opening optimizations. If the driver doesn't
+ support the ability to determine when two file handles refer
+ to the same file (like MPIO and GASS) then H5F_open() makes
+ fewer calls to the driver's open callback. Also, if the
+ tentative file access flags are the same as the original flags
+ then H5F_open() makes fewer calls to the file device.
+
+./src/H5FD.c
+./src/H5FDprivate.h
+./src/H5FDpublic.h
+ Added H5FD_get_class() so the library can get information
+ about what file driver callbacks are defined. This will be
+ useful when more optimization functions are added to the VFL,
+ such as for MPIO derived datatype I/O.
+
+./src/H5FDcore.c
+./src/H5FDfamily.c
+./src/H5FDmpio.c
+./src/H5FDmulti.c
+./src/H5FDsec2.c
+ The driver symbols (like H5FD_CORE, etc) are actually function
+ calls. The functions were fixed to return correct values even
+ after calling H5close().
+
+./src/H5FDmulti.c
+./src/H5FDmulti.h
+ Added support for opening a file when parts are missing (only
+ if the caller explicitly allows that in the file access
+ property list).
+
+ Moved some common code sequences into macros or functions.
+
+ Added better support for reopening files. All the application
+ has to know is that the file is a multi file and the base name
+ from which all the member names are created.
+
+ More debugging output when the file is opened with the
+ H5F_ACC_DEBUG flag.
+
+ Fixed various bugs.
+
+./src/H5Fistore.c
+ Chunked raw data was accidently allocated as meta data instead
+ of raw data.
+
+./src/H5I.c
+ The H5Iget_type() function fails when invoked with an old
+ object ID (an ID which has been closed down).
+
+./test/h5test.c
+ Added an extra argument when setting the multi file access
+ property lists so the test fails if it can't open one of the
+ sub-files.
+
+./tools/h5ls.c
+ Improved the algorithm for deciding what file driver to
+ use. It basically tries all of the predefined drivers and is
+ now able to open family, split, and multi files without
+ looking for special characters in the file name.
+
+ Added `-e' and `--errors' switches which cause errors from
+ libhdf5 to be reported on stderr in addition to the simple
+ error message displayed by h5ls.
+
+Changes since 19990817
+----------------------
+
+./configure.in [1.2, 1.3]
+./configure [REGENERATED]
+ The checking for C9x types includes <stdint.h> if it
+ exists. This should fix a bug on Linux RedHat 6.0 (untested).
+
+./src/H5private.h [1.2, 1.3]
+ The prototype for strdup() is protected in case strdup is also
+ a macro. This should fix a bug on Linux RedHat 6.0 (untested).
+
+
+Changes since 19990817
+----------------------
+
+./src/H5D.c
+./src/H5F.c
+./src/H5FDmpio.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5Smpio.c
+ The `driver_id' for a file was accidently put in two
+ structs. I removed it from the H5F_file_t struct since it's
+ really an attribute of the VFL stuff.
+
+ More careful incrementing/decrementing the driver ID to fix a
+ memory leak.
+
+./src/H5P.c
+ Rewrote H5Pcreate() in terms of H5P_copy() of a default
+ property list. This fixes some referencing counting bugs.
+
+
+Changes since 19990817
+----------------------
+
+./src/H5D.c
+./src/H5F.c
+./src/H5Fistore.c
+./src/H5Smpio.c
+ Incorporated previous changes into MPIO special cases. These
+ are mostly due to the fact that most of the members of the
+ file->shared->fapl struct have been moved into the
+ file->shared->file->shared struct (`file' is an H5F_t*).
+
+./src/H5I.c
+ Fixed a bug with closing the library w.r.t. the VFL stuff. The
+ VFL layer introduced reference counts on object ID's and the
+ library termination functions freed these objects in the wrong
+ order. Now H5I_clear_group() does not normally remove objects
+ with a reference count larger than one because it assumes that
+ those objects are currently in use by the library.
+
+Changes since 19990810
+----------------------
+
+./MANIFEST
+./src/H5FDmulti.c [NEW]
+./src/H5FDmulti.h [NEW]
+./src/Makefile.in
+./src/hdf5.h
+ The split driver was reimplemented as a more general "multi"
+ driver which is capable of splitting data into multiple files
+ like the family driver except the partioning is done by memory
+ usage type instead of address. The H5Pset_fapl_split()
+ function just calls H5Pset_fapl_multi() with arguments which
+ prepare to split the address space into two files: meta and
+ raw data.
+
+ This is the first version. I plan to allow the open() call to
+ relax a bit which would allow one to open an hdf5 file when
+ only the meta-data file is present. This would allow a very
+ large file to be split and stored on tape and the relatively
+ small meta file to be mirrored on disk to allow limited
+ browsing of the file (any request for raw data would fail).
+
+./src/H5private.h
+./src/H5F.c
+./src/H5FD.c
+./src/H5FDprivate.h
+./src/H5FDpublic.h
+./src/H5FDcore.c
+./src/H5FDfamily.c
+./src/H5FDmpio.c
+./src/H5FDsec2.c
+ Added the ability for a file driver to store information in
+ the superblock which would be needed if the file were opened
+ again later for reading. The format is driver-defined which
+ allows users to extend it however they like.
+
+./doc/html/H5.format.html
+ Added information about the new driver information block of
+ the superblock. This is where file drivers store information
+ they need in order to reopen the file later.
+
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5FD.c
+./src/H5FDprivate.h
+./src/H5FDpublic.h
+./src/H5FDcore.c
+./src/H5FDfamily.c
+./src/H5FDmpio.c
+./src/H5FDsec2.c
+./src/H5Fistore.c
+./src/H5R.c
+ The file access properties and the file access property list
+ were decoupled, which allows the property list to more cleanly
+ contain properties for various levels of the file and which
+ allows the property list to be modified more cleanly when
+ opening files.
+
+./src/H5.c
+./src/H5FDpublic.h
+ Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never
+ used.
+
+./src/H5D.c
+ Changed the way we detect the MPIO driver in all these special
+ cases.
+
+./src/H5F.c
+./src/H5Rpublic.h
+./test/tfile.c
+ The default file sizeof(offset) was changed to be a function
+ of haddr_t instead of hsize_t.
+
+ THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER
+ CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES!
+
+./src/H5F.c
+ Fixed an uninitialized memory access bug in file closing
+ related to the VFL.
+
+./src/H5T.c
+./src/H5Tpublic.h
+ Added an H5T_NATIVE_HADDR predefined datatype which
+ corresponds to the `haddr_t' type.
+
+./test/Makefile.in
+ Reformatted long lines.
+
+./test/big.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/extend.c
+./test/external.c
+ Removed the H5F_ACC_DEBUG flag from file creation/open calls.
+
+./test/big.c
+ Plugged a memory leak.
+
+./test/h5test.c
+ Added support for the `multi' driver.
+
+ Removed #warning about not having the stdio driver. Plans are
+ to not implement it since the sec2 driver serves the same
+ purpose and testing didn't show any difference in execution
+ times between the two.
+
+Changes since 19990810
+----------------------
+
+./src/H5Sprivate.h
+ Fixed merge conflicts that I missed earlier.
+
+Changes since 19990730
+----------------------
+
+This extensive change is the virtual file layer implementation. I've
+ported and tested the sec2, family, and core drivers and only ported
+the mpio driver (Albert will test it). So if you need MPIO I would
+recommend sticking with the previous version for a while.
+
+You will get a few compile warnings about split and stdio drivers not
+being implemented and possibly tracing information not inserted in
+some of the drivers. You can safely ignore them but I plan to fix
+them.
+
+I'm still working on the split driver because I just realized that it
+needs a part of the VFL that isn't written yet.
+
+Documentation is being updated also because there were some minor
+changes (mostly just name changes). It should be available on my web
+site later this week.
+
+./MANIFEST
+./src/Makefile.in
+./src/hdf5.h
+./src/H5Flow.c [REMOVED]
+./src/H5Fstdio.c [REMOVED]
+./src/H5Fsec2.c [REMOVED]
+./src/H5Fsplit.c [REMOVED]
+./src/H5Fmpio.c [REMOVED]
+./src/H5Ffamily.c [REMOVED]
+./src/H5Fcore.c [REMOVED]
+./src/H5MFpublic.h [REMOVED]
+./src/H5FD.c [NEW]
+./src/H5FDcore.c [NEW]
+./src/H5FDcore.h [NEW]
+./src/H5FDfamily.c [NEW]
+./src/H5FDfamily.h [NEW]
+./src/H5FDmpio.c [NEW]
+./src/H5FDmpio.h [NEW]
+./src/H5FDprivate.h [NEW]
+./src/H5FDpublic.h [NEW]
+./src/H5FDsec2.c [NEW]
+./src/H5FDsec2.h [NEW]
+ Removed/added files for virtual file layer.
+
+./bin/trace
+./src/H5.c
+ Removed unused public datatypes and added new VFL public
+ datatypes.
+
+ Changed an error message.
+
+./config/BlankForm
+./config/dec-flags
+./config/gnu-flags
+./config/hpux10.20
+./config/hpux9.03
+./config/irix5.x
+./config/irix6.x
+./config/solaris2.x
+./config/unicosmk
+ Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
+ configuration since they're no longer applicable. The default
+ file driver is always the sec2 driver and it always optimizes
+ calls to lseek() or lseek64().
+
+./config/depend.in
+ C preprocessor errors generated during automatic dependency
+ building are sent to /dev/null to prevent them from appearing
+ twice in the make output.
+
+./src/H5AC.c
+./src/H5B.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5O.c
+./src/H5Oattr.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Oshared.c
+./src/H5T.c
+./src/H5detect.c
+./test/ohdr.c
+ Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
+ with the `haddr_t' datatype which is now a public type.
+
+./src/H5D.c
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Tconv.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/overhead.c
+./test/tselect.c
+./test/tvltypes.c
+ The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
+ because the properties apply to all types of I/O operations,
+ not just datasets.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5D.c
+./src/H5Dpublic.h
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5HG.c
+./src/H5HL.c
+./src/H5O.c
+./src/H5R.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Smpio.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./test/big.c
+./test/h5test.c
+./test/istore.c
+./testpar/t_dset.c
+./testpar/t_file.c
+./tools/h5debug.c
+./tools/h5ls.c
+ Modified to work with the virtual file layer by calling H5FD_*
+ functions instead of H5F_low_* functions and by passing file
+ access and data transfer properties by object ID instead of
+ pointer.
+
+ Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
+ COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
+ MPIO file driver.
+
+ Moved MPIO-specific stuff into the MPIO driver.
+
+./src/H5B.c
+./src/H5D.c
+./src/H5Fprivate.h
+ The H5F_mpio_* private functions were renamed and placed in
+ the H5FDmpio driver except those which appeared in H5Smpio.c.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added major error number H5E_VFL for virtual file layer
+ related errors.
+
+./src/H5F.c
+./src/H5Fprivate.h
+ Changed the logic that controls whether the boot block is
+ written. Instead of assuming that the first call to write the
+ boot block is only to allocate space, I've added a function
+ argument which makes this explicit.
+
+ Changed the way files are compared so that a driver-defined
+ comparison function can be called. Files which belong to
+ different drivers are always considered different.
+
+ Removed H5F_driver_t since file drivers are now identified by
+ object ID instead of a special non-user-extendible datatype.
+
+ Removed all the hard-coded low-level file properties which
+ have been replaced by the various file drivers.
+
+./src/H5I.c
+./src/H5Iprivate.h
+ Added the H5I_inc_ref() which was removed a few months ago
+ since we finally have a use for it.
+
+./src/H5Ipublic.h
+ Added the H5I_VFL object ID type to identify file drivers in
+ the virtual file layer.
+
+./src/H5MF.c
+./src/H5MFprivate.h
+ Moved all the allocation/deallocation code into the virtual
+ file layer which allows file drivers to override much of it.
+
+./src/H5P.c
+./src/H5Ppublic.h
+ Moved file driver-specific code into the various file driver
+ files.
+
+ The H5Pcopy() and H5Pclose() functions make calls into the
+ virtual file driver to manage the memory for driver-specific
+ file access and data transfer properties.
+
+./src/H5private.h
+./src/H5public.h
+ The `haddr_t' type is now public.
+
+./test/tfile.c
+ Added a few more comments.
+
+
+Changes since 19990728
+----------------------
+
+./RELEASE [1.2,1.3]
+ Updated release notes for 1.2.0 release
+
+Changes since 19990728
+----------------------
+
+./src/H5B.c [1.3]
+./src/H5D.c [1.3]
+./src/H5F.c [1.3]
+./src/H5Farray.c [1.3]
+./src/H5Fcore.c [1.3]
+./src/H5Ffamily.c [1.3]
+./src/H5Fistore.c [1.3]
+./src/H5Flow.c [1.3]
+./src/H5Fmpio.c [1.3]
+./src/H5Fprivate.h [1.3]
+./src/H5Fsplit.c [1.3]
+./src/H5Fstdio.c [1.3]
+./src/H5G.c [1.3]
+./src/H5HG.c [1.3]
+./src/H5HL.c [1.3]
+./src/H5MF.c [1.3]
+./src/H5O.c [1.3]
+./src/H5Odtype.c [1.3]
+./src/H5Oefl.c [1.3]
+./src/H5P.c [1.3]
+./src/H5Smpio.c [1.3]
+./src/H5T.c [1.3]
+./src/H5detect.c [1.3]
+./tools/h5debug.c [1.3]
+ Some of the H5F_addr_* functions were optimized away.
+
+./src/H5D.c [1.3]
+ Fixed the return values from NULL to FAIL on one MPI-IO
+ function.
+
+
+Changes since 19990727
+----------------------
+
+./src/H5.c [1.3]
+./src/H5AC.c [1.3]
+./src/H5ACprivate.h [1.3]
+./src/H5B.c [1.3]
+./src/H5Bprivate.h [1.3]
+./src/H5D.c [1.3]
+./src/H5F.c [1.3]
+./src/H5Farray.c [1.3]
+./src/H5Fcore.c [1.3]
+./src/H5Ffamily.c [1.3]
+./src/H5Fistore.c [1.3]
+./src/H5Flow.c [1.3]
+./src/H5Fmpio.c [1.3]
+./src/H5Fprivate.h [1.3]
+./src/H5Fsec2.c [1.3]
+./src/H5Fsplit.c [1.3]
+./src/H5Fstdio.c [1.3]
+./src/H5G.c [1.3]
+./src/H5Gent.c [1.3]
+./src/H5Gnode.c [1.3]
+./src/H5Gprivate.h [1.3]
+./src/H5Gstab.c [1.3]
+./src/H5HG.c [1.3]
+./src/H5HGprivate.h [1.3]
+./src/H5HL.c [1.3]
+./src/H5HLprivate.h [1.3]
+./src/H5MF.c [1.3]
+./src/H5MFprivate.h [1.3]
+./src/H5O.c [1.3]
+./src/H5Oattr.c [1.3]
+./src/H5Ocont.c [1.3]
+./src/H5Odtype.c [1.3]
+./src/H5Oefl.c [1.3]
+./src/H5Olayout.c [1.3]
+./src/H5Oprivate.h [1.3]
+./src/H5Oshared.c [1.3]
+./src/H5Ostab.c [1.3]
+./src/H5P.c [1.3]
+./src/H5R.c [1.3]
+./src/H5Smpio.c [1.3]
+./src/H5T.c [1.3]
+./src/H5Tvlen.c [1.3]
+./src/H5private.h [1.3]
+./test/dtypes.c [1.3]
+./test/gheap.c [1.3]
+./test/istore.c [1.3]
+./test/lheap.c [1.3]
+./test/ohdr.c [1.3]
+./tools/h5debug.c [1.3]
+ File addresses (the `haddr_t' type) are passed by value
+ instead of by reference. The type is no longer a struct. This
+ is one of the preliminary changes needed for the Virtual File
+ Layer stuff.
+
+./src/H5Fprivate.h [1.3]
+./src/H5Flow.c [1.3]
+ Some address functions were rewritten as macros.
+
+
+Changes since 19990723
+----------------------
+
+NOTE: These bug fixes but have been applied only to the 1.3 branch per
+ Albert's request.
+
+./config/gnu-flags [1.3]
+ Added support for gcc-2.95 by adding full optimization and
+ debugging flags and applied a patch from Marcus Daniels.
+
+./src/Makefile.in [1.3]
+ Removes the `libhdf5.settings' file for `make clean'.
+
+Changes since 19990719
+----------------------
+
+./configure.in [1.2, 1.3]
+./configure [REGENERATED]
+ Changed $USER to `whoami` for setting the user name in
+ libhdf5.settings.
+
+./test/dtypes.c [1.2, 1.3]
+ Fixed the decimal value which is printed for `dst' when an
+ error is detected. The hexadecimal value was correct.
+
+
+Changes since 19990715
+----------------------
+
+./Makefile.in [1.3]
+./examples/Makefile.in [1.3]
+./pablo/Makefile.in [1.3]
+./src/Makefile.in [1.3]
+./test/Makefile.in [1.3]
+./testpar/Makefile.in [1.3]
+./tools/Makefile.in [1.3]
+./config/commence.in [1.3]
+./config/conclude.in [1.3]
+./config/depend.in [1.3]
+ Added a `.PATH' target for Irix pmake which is identical to
+ the VPATH used by most other `make' programs. Irix 6.5 (or
+ 6.4?) and later `make' ignores VPATH.
+
+ Started all beginning-of-line comments with `##' instead of
+ just `#' because Irix `pmake' barfs on things like the
+ following because it sees the `# if' as a directive:
+
+ # make will barf on the following line
+ # if running Irix pmake
+
+
+./config/commence.in [1.3]
+ Added empty definitions for optional `make' macros because
+ Irix pmake complains if it sees a macro which has never been
+ defined. The main body of the Makefiles can redefine these
+ macros to whatever they need.
+
+./bin/release [1.2, 1.3]
+ The SunOS 5.6 version of `sed' must have slashes as delimiters
+ so I made sure that's all that's used in this script even
+ though it makes one pattern almost unreadable.
+
+
+Changes since 19990715
+----------------------
+
+./src/H5B.c [1.2, 1.3]
+./src/H5Fistore.c [1.2, 1.3]
+./src/H5Sall.c [1.2, 1.3]
+ Replaced second argument of HGOTO_ERROR/HRETURN_ERROR with a
+ minor error symbol (H5E_INTERNAL is a major error symbol).
+
+Changes since 19990713
+----------------------
+
+./tools/h5tools.c [1.2, 1.3]
+ Fixed a bug reported by Albert: the indices for data printed
+ by h5ls were starting over at zero for each pass through the
+ strip mining loop.
+
+ Fixed indentation in one function.
+
+ Replaced commented-out code by #if 0
+
+
+Changes since 19990623
+----------------------
+
+./bin/trace [1.2, 1.3]
+./src/H5D.c [1.2, 1.3]
+./src/H5P.c [1.2, 1.3]
+./src/H5T.c [1.2, 1.3]
+ Added definitions for H5D_operator_t, H5MM_allocate_t, and
+ H5MM_free_t and regenerated tracing calls for the affected API
+ functions.
+
+./config/gnu-flags [1.2, 1.3]
+ A warning is printed for all versions of EGCS before 2.91.67.
+
+./configure.in [1.2]
+./configure [REGENERATED]
+ Changed defaults: optimizations on, debugging and tracing off.
+
+./bin/h5vers [1.3]
+ Added `use strict' and declared some variables.
+
+./INSTALL [1.2, 1.3]
+ Updated version numbers. Fixed a couple typos.
+
+./h5ls.c [1.2, 1.3]
+ Fixed usage message.
+
+Changes since 19990618
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+ Now that compound struct conversions don't make so many calls
+ to convert their members I turned the H5T debugging back on by
+ default (it will still be disabled in a production version).
+
+./src/H5AC.c
+./src/H5B.c
+ Made it possible to turn off messages about debugging these
+ two packages using the same method as for all other
+ packages. Just supply an invalid file descriptor number or use
+ the shell to redirect said descriptor to /dev/null like this:
+
+ $ HDF5_DEBUG=99,ac,b 99>/dev/null a.out
+
+./src/H5T.c
+ Changed the name of the old compound conversion function from
+ `struct' to `struct(no-opt)' to be more consistent with the
+ new version named `struct(opt)'.
+
+ Fixed a bug in H5T_cmp() that caused any two VL types to
+ compare as being equal.
+
+ Removed duplicate code for bitfield comparisons in H5T_cmp().
+
+./src/H5Tconv.c
+ Relaxed some constraints in the new compound conversion
+ function so it applies to more cases. Also eliminated a
+ memcpy in a tight loop.
+
+./test/cmpd_dset.c
+ Added a `--noopt' command line switch which unregisters the
+ optimized compound conversion so we can test the non-optimized
+ version.
+
+Changes since 19990618
+----------------------
+
+./Makefile.in
+ Running `make' in the top directory recurses into the examples
+ directory also except if the make target is one of: lib,
+ progs, check, test, _test, install, uninstall.
+
+./examples/Makefile.in
+ Changed programs into tests, which just means that `make
+ tests' does what `make progs' used to do and that `make check'
+ runs the executables.
+
+./src/H5Tconv.c
+ Fixed a typo in the unsigned-to-signed native converter for
+ large types to small types. This fixes a bug on baldric and
+ possibly other machines for the `dtypes' test.
+
+ Also fixed a signed vs. unsigned warning.
+
+
+Changes since 19990616
+----------------------
+
+./src/H5T.c
+./src/H5Tconv.c
+ All conversion functions take an extra argument called
+ `stride' which is the number of bytes to advance the source
+ and destination pointers after each element is converted. If
+ the value is zero then the old behavior is preserved (source
+ and destination values are packed). This feature was necessary
+ to implement the compound datatype conversion optimizations
+ and it causes a minor change to the API (application-defined
+ type conversion functions take an extra size_t stride
+ argument).
+
+./src/H5Tconv.c
+ An additional compound data type conversion function was added
+ which is applied unless the destination type is larger than
+ the source type. I'm measuring significant performance
+ increases for certain operations:
+
+ Test Name Struct-Conv Noop-Conv
+ New(Old) MB/s New(Old) MB/s
+ ---------- ------------- -------------
+ Reordering 2.062(0.3936) 54087(0.9047)
+ Subsetting 2.901(0.6581) 40192(1.1100)
+ Shrinking 1.976(0.3925) 33628(1.1500)
+ ---------- ------------- -------------
+
+./test/dtypes.c
+ Added various compound datatype conversion tests.
+
+ Fixed return values from functions.
+
+./src/H5T.c
+ Conversion timers are updated only if H5T debugging is turned
+ on a runtime (in addition to compile time). This allows the
+ data type layer to be compiled with debugging support without
+ having to pay a big runtime penalty if the debugging isn't
+ actually used.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5Ofill.c
+./src/H5P.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+ Added the stride argument to the H5T_convert() calls. The
+ stride is always zero, which means that the source and
+ destination data values are packed.
+
+./configure.in
+./configure [REGENERATED]
+ If API tracing is turned off then libhdf5.settings will say
+ `no' instead of nothing.
+
+./test/flush1.c
+./test/flush2.c
+ Added better error messages in a couple places.
+
+
+
+Changes since 19990615
+----------------------
+
+./README
+ Version number synchronized with library.
+
+./bin/h5vers
+ If the version number of the library is changed then the first
+ line of the README file is also changed to something like
+
+ This is hdf5-1.2.3 currently under development
+
+ The `release' script (which also gets run by `snapshot')
+ changes that line to include the release date but keeps the
+ version number the same. The net effect is that the version
+ numbers in README and H5public.h should now always stay
+ synchronized.
+
+./bin/snapshot
+ The CVS checkin comment includes the version number for the
+ snapshot that was just made.
+
+./tools/testh5toh4
+ Changed `*-SKIP-*' to `-SKIP-' to be consistent with the other
+ tests.
+
+
+Changes since 19990614
+----------------------
+
+./src/H5D.c
+ Changed the way the plist_id argument of H5Dvlen_reclaim() is
+ checked so that it's more specific and works when debugging is
+ turned off.
+
+./src/H5TB.c
+ Removed an unused local variable.
+
+./test/fillval.c
+./test/h5test.c
+./test/h5test.h
+ Changed `basename' variables to `base_name' to prevent a
+ warning about a global with the same name.
+
+./tools/h5ls.c
+ Changed `indent' variables to `ind' to prevent a warning about
+ a global with the same name.
+
+./tools/h5toh4.c
+ Commented out declarations for things that normally appear in
+ system header files since our definitions might be
+ incompatible with the system and prevent h5toh4 from
+ compiling. If all looks good on other systems then we can
+ permanently remove these declarations...
+
+
+Changes since 19990611
+----------------------
+
+./doc/html/H5.format.html
+ Added documentation for opaque data types (bitfield types were
+ already documented but they were out of order).
+
+./src/H5E.c
+ Fixed a bug with glibc2 on linux systems where `stdout' is an
+ extern and can't be used to initialize static data.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5detect.c
+ Removed the `_T' from the new C9x types I just added so the
+ names are consistent with existing types. Besides, the fact
+ that something is a datatype is obvious because it starts with
+ H5T_NATIVE_.
+
+./tools/h5ls.c
+ Added the new C9x data types. H5ls prints one of these types
+ only if it doesn't match one of the builtin C types.
+
+ Prints the OID for shared data types.
+
+ Fixed a formatting bug with symbolic links which was
+ introduced a few changes ago.
+
+ The commandline has been changed so that objects from multiple
+ files can be listed with a single command. Instead of
+ specifying a file name and an optional list of objects, each
+ thing to print is a file name and object concatenated. H5ls
+ figures out how to devide the name into a file name and object
+ name even when the file name part doesn't correspond to an
+ actual Unix file.
+
+ Old syntax: h5ls [OPTIONS] FILE [OBJECTS]
+ New syntax: h5ls [OPTIONS] FILE[/OBJECT] [FILE[/OBJECT]]...
+
+ Example ({X,Y} is expanded by the shell)
+
+ Old command: h5ls -d ../test/x.data dir1 dir2
+ New command: h5ls -d ../test/x.data/{dir1,dir2}
+
+ The filename is printed as part of the object name when full
+ names are requested (--full or --recursive). If people really
+ don't like this they can undefine a constant at the top of
+ h5ls.
+
+ Errors from the hdf5 library are turned off.
+
+ Commandline switches of the form `--width 80' are accepted in
+ addition to `--width=80'. This is more symmetric with
+ single-letter switches that take two forms: `-w 80' and
+ `-w80'.
+
+./src/H5D.c
+ Added tracing instrumentation for H5Dvlen_reclaim().
+
+./src/H5private.h
+ Added casts to int for the isalpha() et al macros to shut up
+ solaris warnings about char subscripts.
+
+
+Changes since 19990608
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5config.h.in [REGENERATED]
+./src/H5detect.c
+./src/H5private.h
+ Added checks for the C9x integer types like int32_t,
+ int_least32_t, and int_fast32_t and the unsigned
+ versions. HDF5 defines H5T_NATIVE_* versions (all caps) to be
+ the same as the type provided by the C library, otherwise it
+ defines them as integers exactly the specified size. Hardware
+ type conversion functions are used when the types
+ match some C-language type (like `int').
+
+Changes since 19990607
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+./src/libhdf5.settings.in [NEW]
+./config/conclude.in
+./INSTALL
+./MANIFEST
+ A file called `libhdf5.settings' is installed along with the
+ libraries and it contains a list of various things that might
+ be of interest to someone using the library (such as what
+ compiler/options were used and what other libraries might need
+ to be linked to satisfy external references). We can add more
+ things as it becomes necessary. Here's a sample...
+
+ SUMMARY OF THE HDF5 CONFIGURATION
+ =================================
+
+ HDF5 Version: hdf5-1.1.106
+ Configured on: Tue Jun 8 11:38:52 EDT 1999
+ Configured by: matzke@llnl.gov at Spizella Software
+ Configure mode: development
+ Host system: i686-pc-linux-gnulibc1
+ Byte sex: little-endian
+ Libraries: static, shared
+ Parallel support: mpicc
+ Installation point: /usr/local
+ Compiler: mpicc (egcs-2.91.66)
+ Compiler switches: -Wall -g
+ Extra libraries: -lmfhdf -ldf -lz -ljpeg -lm
+ Archiver: ar
+ Ranlib: ranlib
+ Debugged Packages: d,e,f,g,hg,i,mm,o,p,s,v,z
+ API Tracing: yes
+ File addresses: large
+
+Changes since 19990607
+----------------------
+
+./tools/h5ls.c
+./tools/h5tools.c
+ Added support for printing bitfields and opaque data.
+
+./test/dsets.c
+ Added bitfield and opaque datasets to the output file so h5ls
+ has something interesting to print.
+
+./test/trefer.c
+ Resync'd
+
+./src/H5Tconv.c
+ Fixed bitfield conversion which resulted in possible garbage
+ in high-order bits of destination when the destination type is
+ larger than the source type. Thanks for spotting it, Quincey.
+
+Changes since 19990607
+----------------------
+
+./tools/h5tools.c
+ Finished code which prints references (object and dataset
+ region). Patrick, if you tell me how h5dump should (or might
+ want to) print references I can make some changes to support
+ various formats...
+
+ You can try it out with:
+
+ cd test
+ env HDF5_NOCLEANUP=yes ./testhdf5
+ ../tools/h5ls -dvr trefer1.h5
+ ../tools/h5ls -dvr trefer2.h5
+
+ (run h5ls with no arguments if you forgot what the switches do)
+
+
+./test/trefer.c
+ Call calloc instead of malloc in one place to prevent
+ uninitialized data from being written into the file.
+
+Changes since 19990607
+----------------------
+
+./tools/h5ls.c
+./tools/h5tools.c
+./tools/h5tools.h
+ Finished the `-x' or `--hexdump' switch, which causes all data
+ to be printed in hexadecimal format with no translation from
+ file to memory data type.
+
+Changes since 19990602
+----------------------
+
+./doc/html/Datatypes.html
+./test/dtypes.c
+ Added documentation and tests for opaque types.
+
+./tools/h5ls.c
+ Added a `-x' or `--hexdump' argument which is not fully
+ implemented (because I want to synchronize h5tools.c first)
+ but which will eventually print raw data in hexadecimal format
+ without any translation from disk. This would be useful for
+ debugging references and VL types.
+
+./tools/h5tools.c
+ Added support for references (not quite finished yet, but
+ compiles -- I wanted to sync up this file before Patrick and I
+ got too far apart...)
+
+
+./src/H5R.c
+ Checked for error return value from H5R_get_object_type()
+
+./src/H5A.c
+./src/H5D.c
+ Changed error return values from NULL to FAIL
+
+./test/Makefile.in
+./test/trefer.c
+ Creates trefer1.h5 and trefer2.h5 so that the second test
+ doesn't clobber the first file since the files might be useful
+ for debugging.
+
+
+Changes since 19990430
+----------------------
+
+Remove changes from CVS
+
+./bin/release
+ Added a `--nocheck' switch which causes the script to not
+ check the contents of the MANIFEST file against CVS. This is
+ sometimes useful when you need to make a quick snapshot but
+ the MANIFEST file is not quite up to date.
+
+./src/H5D.c
+ Removed warnings for unused variables
+
+./src/H5Fprivate.h
+ Removed the WIN32 definition for `uint' and changed the data
+ type for `eof_written' from `uint' to `uintn'. Shouldn't this
+ really be `hbool_t'?
+
+./src/H5Odtype.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./test/dtypes.c
+./doc/html/H5.format.html
+ Added support for bitfields and opaque data types.
+
+Changes since 19990427
+----------------------
+
+./tools/h5ls.c
+ Added a `--address' (`-a') switch which causes h5ls to display
+ file addresses for raw data. For contiguous datasets it's just
+ a nice simple number, but for chunked datasets it's a list of
+ logical dataset coordinates, file addresses, filter masks, and
+ storage sizes.
+
+ Changed `--dump' switch to `--data'.
+
+./src/H5D.c
+./src/H5F.c
+./src/H5Fprivate.h
+ Enhanced the indexed-storage B-tree iterator so it can dump
+ raw data addresses (and other info) to the standard error
+ stream.
+
+ Added H5Ddebug() so h5ls has a way to dump addresses for
+ datasets. I'm not sure what else this API function should do,
+ so I think we should discuss it before we document it. So far,
+ h5ls is the only thing that uses it, and we can easily change
+ that.
+
+./src/H5Tconv.c
+./test/dtypes.c
+ Finally had a chance to verify Paul's H5T_conv_s_s (general
+ string to string conversions) bug fixes and incorporate them
+ into H5T_conv_f_f (general floating-point to floating-point
+ conversions) and H5T_conv_i_i (general integer to integer
+ conversons). Thanks Paul.
+
+./src/H5D.c
+./src/H5S.c
+./src/H5Sprivate.h
+ Added performance timers around data space read and write
+ callbacks. They were already there for the gather/scatter
+ callbacks.
+
+ The timings for read/write callbacks are displayed along with
+ gather/scatter when data space debugging is turned on.
+
+./bin/iostats
+ Updated to print totals. Added a `--fast' option that doesn't
+ do any output except the totals and is much faster.
+
+./bin/trace
+ Changed __unused__ to UNUSED to match source code.
+
+./config/gnu-flags
+ Updated error message for pgcc. I've sent bug reports to the
+ pgcc people but the new version still has the same bug.
+
+./configure.in
+./config/conclude.in
+./config/depend.in
+ Fixed dependencies for non-GNU makes when run in a directory
+ other than the hdf5 source tree.
+
+ Updated GNU `make dep' rules to copy the distributed
+ dependencies for non-GNU makes into the source tree when run
+ in some other directory.
+
+Changes since 19990426
+----------------------
+
+./tools/h5tools.c
+./tools/h5tools.h
+ Finally fixed a long-standing bug that caused core dumps if
+ a compound datum rendered to more than some number of
+ characters (we kept bumping up the limit at the risk of
+ violating stack size limits on some machines). The fix works
+ only on systems that have the vsnprintf() function (otherwise
+ a 4kB limit is imposed, which if violated probably dumps
+ core). If vsnprintf() is present then the library dynamically
+ allocates space for the output string.
+
+ Also made it possible to control how compound data is rendered
+ across multiple lines of output by allowing the caller to
+ specify where optional line-breaks get inserted. The output
+ functions split up the value at one or more optional
+ line-breaks to prevent it from wrapping around the screen.
+
+ If a datum doesn't fit on the current line but would fit on
+ the next line then it is printed on the next line regardless
+ of whether optional line-breaks would have prevent wrapping
+ around the screen. This makes it easier to find the beginnings
+ of compound data values. This feature is disabled by default
+ but can be enabled by the application.
+
+ If a datum doesn't fit on the current line and the previous
+ datum also occupied more than one line then we move to the
+ next line before printing. This makes it easier to find the
+ beginnings of compound data values but prevents the output
+ from looking fragmented if there are only a few long values
+ among mostly short values. This feature is disabled by
+ default but can be enabled by the application.
+
+ The application can control the printf() formats used for all
+ the native data types. The defaults are what the library used
+ to use: %g, %ld, %lu, %d, and %u
+
+./tools/h5ls.c
+ Compound datatype values can now be split across multiple
+ lines of output instead of just wrapping. Also, when lots of
+ compound values are too long they all start at the beginning
+ of a line. This only required about 10 lines of changes in the
+ setup for tools library calls (I didn't modify the h5dump
+ program because it uses its own version of the tools library
+ that forked off long ago).
+
+ Added code for Win32 which is unable to cast `unsigned long
+ long' to `double'. If the dataset size exceeds (2^63)-1 then
+ the percent utilization is not displayed (this is easily
+ possible with chunked datasets). This is untested yet.
+
+./configure.in
+./src/H5config.h.in
+./src/H5.c
+./src/H5private.h
+ Check for vsnprintf() and provide a simple, stupid definition
+ if it isn't available. The stupid definition just calls
+ vsprintf() and ignores the second argument. This can result in
+ buffer overflows in h5ls and h5dump since vsprintf() is an
+ unsafe function (and anyone can create an hdf5 file that runs
+ an arbitrary command from h5ls and h5dump in that case)!
+
+./config/conclude.in
+ Remove more *.o files for `make clean'
+
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5I.c
+./src/H5Iprivate.h
+./src/H5P.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5S.c
+./src/H5T.c
+./src/H5TB.c
+ Cleaned up a memory leak during H5_term_library() by allowing
+ H5I_clear_group() to skip items that couldn't be freed. This
+ allows the item to remain in the group until we can free it
+ later.
+
+./src/H5F.c
+ The H5F_close_all() function fails if a file cannot be closed.
+
+Changes since 19990426
+----------------------
+
+./config/commence.in
+./examples/Makefile.in
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+ Fixed some dependency problems in Makefiles. If the library
+ version is updated then everything gets recompiled.
+
+./src/H5G.c
+./src/H5R.c
+ Failure return value for object type functions is now
+ H5G_UNKNOWN as documented.
+
+./src/H5Shyper.c
+./src/H5Spoint.c
+ Fixed an unused argument warning.
+
+./tools/h5debug.c
+ Fixed a call to H5F_block_read() since the 4th argument is
+ different now.
+
+./tools/h5ls.c
+ Added a space between the object name and class to make the
+ output readable when the object name is longer than 24
+ characters.
+
+Changes since 19990423
+----------------------
+
+./src/H5B.c
+./src/H5D.c
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5O.c
+ Changed H5F_block_read/write() to take a file transfer
+ property list instead of just a parallel I/O mode. This will
+ allow us to pass additional parameters to the I/O functions
+ without having so many arguments to worry about.
+
+ This fixes a bug I introduced last Friday for parallel HDF5
+
+./src/H5B.c
+ Fixed decoding of B-tree keys when iterating through the
+ leaves of the B-tree. This fixes a bug for applications that are
+ adding new entries to groups and also listing the groups.
+
+Changes since 19990415
+----------------------
+
+./config/depend.in
+ Fixed automatic dependencies. We were storing dependencies for
+ *.o files instead of *.lo files after shared libraries were
+ added.
+
+./config/gnu-flags
+./config/linux-gnulibc1
+ Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
+ the linux file to this file and caused it to depend on the CPU
+ name. This fixes one of Elena's bugs.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fmpio.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5Gnode.c
+./src/H5P.c
+./src/H5RA.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Smpio.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./src/H5Tpublic.h
+./test/istore.c
+ Added an H5Dget_storage_size() function that reports the
+ amount of storage allocated for raw data in a dataset.
+
+ Changed H5D_xfer_* to H5F_xfer_* because these properties are
+ more general than datasets. This also allows some of the
+ lower-level I/O functions to get this information easier.
+
+./src/H5S.c
+./src/H5Sall.c
+ Added two new functions H5S_all_read() and H5S_all_write()
+ which are optimizations that copy data directly between file
+ and memory without having to go through the scatter gather
+ step. This knocks quite a bit of time off the I/O and
+ reading/writing entire datasets is a fairly common operation.
+
+./tools/h5ls.c
+ Reports the logical size of data, the allocated size of data,
+ and the percent utilization.
+
+./MANIFEST
+ Removed old pablo files, added new files. Snapshots should now
+ start to work again.
+
+./src/H5D.c
+./src/H5Fmpio.c
+ Removed two warnings signed vs. unsigned comparisons and check
+ for overflow.
+
+
+Changes since 19990402
+----------------------
+
+./config/commence.in
+./config/conclude.in
+./test/Makefile.in
+./tools/Makefile.in
+ Fixed so private libraries are not installed publicly.
+
+ The installation directories `bin', `include', and `lib' are
+ created mode 755.
+
+./src/H5.c
+./src/H5A.c
+./src/H5F.c
+./src/H5Fcore.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5O.c
+./src/H5Oattr.c
+./src/H5Ocomp.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Ofill.c
+./src/H5Olayout.c
+./src/H5Omtime.c
+./src/H5Oname.c
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5R.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Smpio.c
+./src/H5Snone.c
+./src/H5Spoint.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Vprivate.h
+./src/H5Z.c
+./src/H5detect.c
+./src/H5private.h
+./test/chunk.c
+./test/dsets.c
+./test/dtypes.c
+./test/h5test.c
+./test/overhead.c
+./test/ragged.c
+./test/tattr.c
+./tools/h5dump.c
+./tools/h5findshd.c
+./tools/h5ls.c
+ Changed `__unused__' to `UNUSED' to fix a conflict with GNU
+ header files.
+
+./src/H5Tpkg.h
+./test/h5test.h
+ Removed __unused__ from forward function declarations.
+
+./src/H5P.c
+ Removed a comment about restrictions for the type conversion
+ temporary buffers. Thanks to Quincey, the comment no longer
+ applied.
+
+./src/H5T.c
+ Relaxed the H5Tpack() a little so it would pack compound data
+ structures that had non-transient atomic members.
+
+./tools/h5ls.c
+ Added a `-g' (or `--group') flag that causes information to be
+ printed about the specified group instead of the group's
+ contents. (sort of like Unix's `ls -d'). The `-g' can be used
+ in combination with `-r' to print information about the group
+ and its contents.
+
+Changes since 19990330
+----------------------
+
+./src/H5A.c
+./src/H5D.c
+ The `bkg' buffers are zeroed before calling the type
+ conversion function. This fixes a problem where reading a file
+ compound data structure into memory results in garbage between
+ the members.
+
+./src/H5I.c
+ Fixed H5I_clear_group() so it removes entries even when a free
+ callback is not registered. This fixes fixes an `infinite loop
+ closing library' warning message.
+
+./src/H5.c
+ Added ellipses to the end of the infinite loop message.
+
+Changes since 19990322
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+./src/H5D.c
+./src/H5O.c
+ Removed H5AC, H5B, and H5T from the default list of packages
+ to debug (because they're pretty expensive debugging), and
+ added H5O. Also fixed a bug for undefined variable in H5D when
+ H5S debugging is turned on but H5T debugging is turned off.
+
+./config/conclude.in
+ Fixed installation of header files for building in a directory
+ other than the source directory. This fixes a bug where
+ H5config.h wasn't being installed.
+
+./src/H5.c
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5I.c
+./src/H5Iprivate.h
+./src/H5P.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5S.c
+./src/H5T.c
+./src/H5TB.c
+./src/H5Tprivate.h
+./src/H5Z.c
+./src/H5detect.c
+./src/H5private.h
+ Changed the way the library shuts down again. Now it handles
+ cycles between packages and isn't so sensitive to dependencies
+ between packages. A package might shut down only to be
+ restarted to process a request from some other package being
+ shut down. Loops are detected after 100 iterations and the
+ shutdown is aborted with a message on standard error. This
+ also makes it a lot easier to debug.
+
+./src/H5A.c
+ Fixed H5A_write() and H5A_read() so they pass a non-null
+ background buffer to the conversion functions. This is
+ necessary when an attribute has a compound data type.
+
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+ Reindented new Win32 stuff.
+
+./src/H5Odtype.c
+ Fixed a bug when enumeration types are used in a compound data
+ type. The byte pointer wasn't incremented after the type
+ information was written.
+
+./tools/h5ls.c
+ Compound data types display their total size because it's not
+ always obvious from looking at the members.
+
+ Scalar attributes show their space as `scalar' instead of
+ `{}'.
+
+ The index value is not printed for attributes that have only a
+ few values. Instead the word `Data:' is printed on the first
+ line of attribute data.
+
+ Named types display their data type only if verbose output was
+ requested.
+
+Changes since 19990319
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+./config/commence.in
+ A few tweaks to the makefile rules for rebuilding makefiles.
+
+./src/H5detect.c
+ Fixed a really stupid mistake: resetting the signal handler
+ after a longjmp(). This should fix Bob's SIGBUS on Solaris.
+
+Changes since 19990318
+----------------------
+
+./Makefile.in
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./config/commence.in
+./config/conclude.in
+./config/dec-osf4.x
+./config/depend.in
+./config/freebsd
+./config/linux-gnu
+./config/linux-gnulibc1
+./config/linux-gnulibc2
+./config/solaris2.x
+./examples/Makefile.in
+./src/Makefile.in
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+./tools/testh5dump.sh
+ Changes that allow hdf5 to be configured and compiled in a
+ directory other than the source directory. This is especially
+ useful if you want to concurrently compile with different
+ compilers and/or compile flags, or if the hdf5 source is on
+ read-only media like a CDROM. The changes were surprisingly
+ easy ;-) Here's what you can do now...
+
+ $ mkdir /tmp/build1 # or something
+ $ cd /tmp/build1
+ $ /cdrom/hdf5/configure # where ever the source is
+ $ make
+
+ Paul, you'll have to change the testh5toh4 script similar to
+ the way I changed testh5dump.sh. I started working on it but
+ then gave up because of a number of problems: (1) I had to
+ comment out all the tests that let h5toh4 choose the output
+ file name because it always tried to put the output file in
+ the same directory as the input file, (2) if path names are
+ used during the h4 dump then they interfere with the
+ diff. The test works fine when run in the source directory,
+ but try this instead:
+
+ $ gunzip <hdf5-1.1.67.tar.gz |tar xf -
+ $ chmod -R ugo-w hdf5-1.1.67
+ $ mkdir build
+ $ cd build
+ $ ../hdf5-1.1.67/configure
+ $ make check
+
+ Dan, I didn't modify the pablo/Makefile.in because I have no
+ way to test it. I think all you need to do is add a couple
+ lines before the @COMMENCE@ line and add a couple search
+ directories for header files. Anyway, it seems like almost an
+ exact duplicate of the src/Makefile.in, so it shouldn't be a
+ problem...
+
+./Makefile.in
+ Removes a few more temporary files during make clean and
+ distclean.
+
+./configure.in
+ I fixed the creation of the time-stamp files so that the
+ initial make doesn't have to regenerated all the makefiles
+ (only GNU make users will see any change).
+
+./src/H5R.c
+ Changed a return type from `intn' to `int' for an API
+ function.
+
+./src/H5detect.c
+ Added the volatile qualifier to a couple more variables.
+
+./tools/h5tools.c
+ Fixed a compiler warning about an unused local.
+
+./tools/h5toh4.c
+ Initialized `optind' to 1 because it's zero on my system. It
+ should always be one on a unix system.
+
+./tools/testh5toh4
+ Redirected "broken pipe" messages to /dev/null so outut is
+ formatted correctly.
+
+Changes since 19990312
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5private.h
+ Temporarily commented out the code that tries to link a simple
+ MPI-IO application because I'm not sure how to pass $LDFLAGS
+ and $LIBS to the compiler.
+
+ Removed the `--enable-parallel=ibm' switch because the library
+ we link with is either -lmpcc or -lmpcc_r but not both. The
+ only way to tell is to see what compiler was specified (mpcc
+ or mpcc_r) but if that compiler is specified then we don't
+ need any libraries (the compiler script supplies them). That
+ leaves just two choices: the user must use a compiler script:
+
+ CC=mpcc ./configure
+
+ or the user must state which library is desired:
+
+ LDFLAGS='-lmpcc' ./configure --enable-parallel
+
+ Checks for <setjmp.h>, longjmp(), and signal(). We don't check
+ for setjmp() because it could be a macro (in fact, Posix
+ requires it to be a macro) and if longjmp() is present then
+ setjmp() is probably present too ;-)
+
+./src/H5detect.c
+ The alignment detection loop uses SIGBUS and setjmp/longjmp
+ instead of fork/wait in order to get around bugs with forking
+ in conjunction with mpich.
+
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+ Changed the order that libraries are linked so -lhdf5 is
+ always before $LDFLAGS.
+
+Changes since 19990304
+----------------------
+
+./config/*-aix4.* [REMOVED]
+./config/*-aix4.x [NEW]
+./config/solaris2.5 [REMOVED]
+./config/solaris2.x [NEW]
+./configure.in
+./configure [REGENERATED]
+./MANIFEST
+ Changed the names of the IBM-SP2 config files by replacing the
+ minor version numbers with an `x'. The solaris config warns
+ about old versions of gcc.
+
+ The RUNSERIAL value is set to the empty string by default. The
+ config/* file (or user) can override it by setting it to some
+ other value.
+
+ The `--enable-parallel' with no flags turns on the
+ HAVE_PARALLEL constant in the source code but doesn't add any
+ MPI or MPI-IO libraries to the link line.
+
+ If we are compiling for parallel then configure checks that we
+ can actually link a very simple program. This has the benefit
+ of detecting config errors before we waste time compiling the
+ entire library.
+
+ Configure recognizes `mpcc_r' as a parallel compiler.
+
+./src/H5A.c
+./src/H5Apublic.c
+ Fixed some compiler warnings. Changed the return type of
+ H5Aget_name() from hssize_t to ssize_t because the name can
+ never be larger then memory.
+
+Changes since 19990303
+----------------------
+
+./configure.in
+./configure [REGENERATED]
+ The path for a command is calculated explicitly the hard way
+ because `type -path' isn't portable.
+
+./config/freebsd
+./config/linux-gnu
+./config/linux-gnulibc2
+ Changed the way files reference each other.
+
+./config/gnu-flags [NEW]
+./config/dec-flags [NEW]
+ These files figure out what flags to pass to certain compilers
+ so we can reuse code in more than one config/* file. They
+ also have better warning messages when old compilers are used.
+
+./config/linux-gnulibc1
+./config/dec-osf4.x
+ These files use the new *-flags files.
+
+
+./src/H5D.c
+./src/H5Onull.c
+./src/H5Tconv.c
+./tools/h5ls.c
+ Fixed a compiler warning.
+
+./src/H5detect.c
+ Added a better comment to the top of the generated file.
+
+Changes since 19990302
+----------------------
+
+./INSTALL
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ Improvements for parallel library. If you have a properly
+ working mpicc you should be able to just say:
+
+ $ CC=mpicc ./configure
+
+ and you will see
+
+ checking for mpirun... /usr/local/mpi/bin/mpirun
+ checking for parallel support files... skipped
+ checking how to run on one processor...
+ /usr/local/mpi/bin/mpirun -np 1
+ checking how to run in parallel...
+ /usr/local/mpi/bin/mpirun -np $$NPROCS
+
+ To quote from the INSTALL file....
+
+ *** Parallel vs. serial library
+ The HDF5 library can be configured to use MPI and MPI-IO for
+ parallelizm on a distributed multi-processor system. The easy
+ way to do this is to have a properly installed parallel
+ compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
+ executable as the value of the CC environment variable:
+ [NOTE: mpcc is not tested yet]
+
+ $ CC=mpcc ./configure
+ $ CC=/usr/local/mpi/bin/mpicc ./configure
+
+ If no such wrapper script is available then you must specify
+ your normal C compiler along with the distribution of
+ MPI/MPI-IO which is to be used (values other than `mpich' will
+ be added at a later date):
+
+ $ ./configure --enable-parallel=mpich
+
+ If the MPI/MPI-IO include files and/or libraries cannot be
+ found by the compiler then their directories must be given as
+ arguments to CPPFLAGS and/or LDFLAGS:
+
+ $ CPPFLAGS=-I/usr/local/mpi/include \
+ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
+ ./configure --enable-parallel=mpich
+
+ If a parallel library is being built then configure attempts
+ to determine how to run a parallel application on one
+ processor and on many processors. If the compiler is mpicc
+ and the user hasn't specified values for RUNSERIAL and
+ RUNPARALLEL then configure chooses `mpirun' from the same
+ directory as `mpicc':
+
+ RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
+ RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
+
+ The `$${NPROCS:=2}' will be substituted with the value of the
+ NPROCS environment variable at the time `make check' is run
+ (or the value 2).
+
+./testpar/Makefile.in
+ Saying `make check' (or `make test') will run the tests on two
+ processors by default. If you define NPROCS then that many
+ processors are used instead:
+
+ $ NPROCS=4 make check
+
+./configure.in
+ Fixed (hopefully) bugs with detecting whether __attribute__
+ and __FUNCTION__ are special keywords for the compiler.
+
+./Makefile.in
+ Saying `make install' from the top level directory shows
+ instructions for using shared libraries.
+
+./config/commence.in
+./src/Makefile.in
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+ Moved the @top_srcdir@ into the makefiles because it was
+ expanded too early and had the wrong value.
+
+./INSTALL
+ Added a warning that if the wrong version of hdf4 tools are
+ installed then `make check' will fail in the tools directory.
+
+
+Changes since 19990301
+----------------------
+
+./INSTALL
+ Reorganized and added some additional examples.
+
+./MANIFEST
+./aclocal.m4 [NEW]
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./bin/ltconfig [NEW]
+./bin/ltmain.sh [NEW]
+ Added tests to determine how to compile shared libraries and
+ how to link programs with them before the libraries are
+ installed. Also how to install and uninstall shared
+ libraries. The configure step also prints the names of the
+ config files it's trying to load for easier debugging.
+
+./bin/config.guess
+./bin/config.sub
+ Replaced with a newer version from GNU. The changes we made
+ to that file to report `irix6.x' and `FreeBSD' without version
+ numbers have been incorporated into configure.in instead. In
+ the future, do not change these two files (see the top of
+ configure.in instead). By the way, this update was required to
+ get shared libraries working.
+
+./config/linux [REMOVED]
+./config/linux-gnulibc1 [NEW]
+./config/linux-gnu [NEW]
+./config/alpha-dec [REMOVED]
+./config/alpha-dec-osf4.0 [REMOVED]
+./config/dec-osf4.x [NEW]
+./config/irix5.3 [REMOVED]
+./config/irix5.x [NEW]
+./config/irix64 [REMOVED]
+./config/freebsd
+ Moved config files around to agree with output from the new
+ config.guess. The linux file was split into gnu (RedHat),
+ gnulibc1, and gnulibc2 versions. The alpha-dec file was
+ removed (I think it was unused) and the alpha-dec-osf4.0 was
+ changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
+ the irix64 file was renamed to irix6.x. The freebsd file was
+ changed to point to linux-gnulibc1. These changes were tested
+ on:
+
+ Linux 2.0
+ Linux 2.1
+ FreeBSD 3.2
+ Irix 5.3
+ Irix64 6.2
+ Irix64 6.4
+ HP/UX 10.20
+ OSF1 4.0
+
+./config/alphaev56-dec-osf4.x
+./config/irix64
+ Added warnings similar to linux/freebsd about using compilers
+ with known bugs.
+
+./config/commence.in
+./config/conclude.in
+./src/Makefile.in
+./test/Makefile.in
+./testpar/Makefile.in
+./tools/Makefile.in
+ Added definitions for shared libraries. This has been tested
+ on the following systems:
+
+ Linux 2.0
+ Linux 2.1
+ FreeBSD 3.2
+ Irix 5.3
+ Irix64 6.2
+ Irix64 6.4
+ HP/UX 10.20 static only
+ OSF1 4.0
+
+ If you want to disable use of shared libraries (you probably
+ do for development purposes since it takes a lot longer to
+ compile and because you have to run dynamically linked
+ programs in a special way if the library hasn't been
+ installed) then add `--disable-shared' to the configure
+ command line. This is all documented in the INSTALL file.
+
+./bin/release
+ Temprarily commented out the MANIFEST checking when running
+ under svf since svf is about to be replaced by a newer
+ version. This change only affects error checking during the
+ release process.
+
+./Makefile.dist
+./Makefile.in
+ Added `make check' which does the same thing as `make _test'
+ since the former is endorsed by the GNU coding style and
+ people are used to it. The old `make _test' still works too
+ (and so does `make test' if you use GNU make).
+
+Changes since 19990226
+----------------------
+
+./INSTALL
+ Added instructions for using other compilers on Irix platforms.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5private.h
+ The presence of <sys/sysinfo.h> and <sys/proc.h> is only
+ checked on DEC/Alpha because there are too many problems
+ including these headers on other systems.
+
+./config/irix6.x
+./config/irix64
+ Removed `-ansi' and added a comment. Converting an ASCII UTC date
+ and time to a time_t value is not defined by ANSI or Posix but
+ is available if we don't use `-ansi'. This allows the dataset
+ modification time messages to be read properly by
+ H5Gget_objinfo().
+
+./src/H5Tconv.c
+ Fixed a compiler warning.
+
+./test/dtypes.c
+./test/hyperslab.c
+./test/istore.c
+ Fixed compiler warnings in printf() statements.
+
+Changes since 19990225
+----------------------
+
+./INSTALL
+ Added warnings and a disclaimer about GNU, DEC, Irix64, and NT
+ compilers that generate incorrect machine code.
+
+./configure.in
+./src/H5private.h
+ Detects and includes <sys/param.h> which is needed on FreeBSD
+ before <sys/proc.h> even though we only really using anything
+ from <sys/proc.h> on the DEC Alpha.
+
+./config/irix64
+ Turned off warnings for duplicate definitions from the linker
+ because -lnsl on irix has the same stuff in it as -lc.
+
+./config/irix6.x
+ Split up the CC and CFLAGS settings like with irix64 so that
+ compilers besides `-n32' can be used.
+
+./bin/snapshot
+ The snapshots are tagged with names like hdf5-1_1_52 which is
+ similar to the way the releases are tagged (cvs doesn't allow
+ dots in tags).
+
+./test/dtypes.c
+./src/H5private.h
+./src/H5Tconv.c
+ Fixed some alignment violations on the DEC when using high
+ optimization levels. The DEC incorrectly optimizes certain
+ memcpy() and memmove() calls when the source argument is not
+ word aligned if the call looks like it's copying an atomic
+ data type.
+
+./test/hyperslab
+ Worked around code generation bugs in the Irix64 Mongoose 7.00
+ compiler by casting some `unsigned long' values to `unsigned'
+ in an expression.
+
+./src/H5Ocomp.c
+ Fixed a place where %d was used to print a size_t.
+
+Changes since 19990225
+----------------------
+
+./configre.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5detect.c
+./src/H5private.h
+ Checks for existence of <sys/sysinfo.h>, <sys/proc.h> and
+ setsysinfo() needed on the DEC Alpha to turn off UAC fixing by
+ the OS.
+
+Changes since 19990219
+----------------------
+
+./config/irix64
+ The old (-32) compiler is now supported by setting envrionment
+ CC='cc -32'. The -64 compiler is the default or you can set
+ CC='cc -64'.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5G.c
+./src/H5I.c
+./src/H5Ocomp.c
+./src/H5P.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5T.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+./src/H5Z.c
+./src/H5detect.c
+./test/big.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/enum.c
+./test/mtime.c
+./test/ohdr.c
+./tools/h5ls.c
+ Fixed lots of warnings on Irix64. Mailed a few remaining
+ warnings in H5S to Quincey and a few in the dumper to
+ Ruey-Hsia.
+
+Changes since 19990218
+----------------------
+
+./src/H5F.c
+./src/H5private.h
+./src/H5Ipublic.h
+./src/H5O.c
+ Fixed a rather nasty bug with file closing that caused the
+ file boot block to be updated incorrectly, effectively
+ truncating the file. The bug I fixed was triggered by:
+
+ 1. Create a file, F
+ 2. Open an object, X
+ 3. Close file F
+ 4. Reopen file F for read/write.
+ 5. Create and close some objects
+ 6. Close file F
+ 7. Close library (exit).
+
+ Step 3 pended the close because object X is still open, but
+ the file ID was removed from the H5I_FILE ID group. Step 4
+ created a new file because it didn't see any matching file on
+ the H5I_FILE ID group. Step 5 extends the file. Step 6 writes
+ the new file boot block to disk. Step 7 closes object X and
+ completes the close from step 3, writing the old boot block
+ information to disk.
+
+ The new behavior is that step 3 moves the file from the
+ H5I_FILE group to the H5I_FILE_CLOSING group. Step 4 searches
+ both groups and finds the file. Step 5 extends the file using
+ the same H5F_file_t struct as step 3. Step 6 closes the H5F_t
+ struct opened in step 3 but not the H5F_file_t struct shared
+ by steps 1 and 3. Step 7 closes object X which closes the
+ H5F_file_t from step 1, flushing the boot block which was
+ shared by all steps.
+
+./src/H5F.c
+ Added some bulletproofing to file reference counting and
+ removed comments which no longer apply. Added H5F_flush_all()
+ and H5F_close_all() which apply to all files.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5I.c
+./src/H5Iprivate.h
+./src/H5R.c
+./src/H5RA.c
+./src/H5S.c
+./src/H5T.c
+ Added the new H5I_free_t data type to describe the function
+ type to be passed as the `free_func' argument to
+ H5I_init_group().
+
+./src/H5I.c
+ Bulletproofed the object removal functions. Removed comments
+ which no longer apply. Changed global variable names so they
+ don't violate the naming scheme. Added H5I_debug() that prints
+ the contents of an ID group. Removed H5I_inc_ref() because it
+ isn't used. Reindented a couple of functions.
+
+./src/H5.c
+./src/H5G.c
+./src/H5Ipublic.h
+ Changed H5I_MAXID to H5I_NGROUPS to better relect the fact
+ that it's the total number of valid ID groups.
+
+./src/H5Shyper.c
+ Changed hyperslab offset arrays to signed quantities to get
+ rid of warnings on DEC cluster.
+
+./src/H5Flow.c
+./src/H5Fprivate.h
+ Changed the objno argument of H5F_addr_pack() to be unsigned
+ to get rid of warnings on DEC cluster.
+
+Changes since 19990215
+----------------------
+
+./src/H5.c
+ Fixed more dependency problems in H5_term_library(). There was
+ a bug in the previous version that could cause the wrong EOF
+ marker to be written to the boot block under certain
+ circumstances. Hopefully this fixes it although I don't ready
+ access to a test case (Mark Miller will test it).
+
+./src/H5F.c
+./src/H5Fprivate.h
+ Added an H5F_close_all() that is similar to
+ H5F_term_interface() but which doesn't close the
+ interface. Files that don't have open object headers are
+ closed, others are delayed until all object headers close. All
+ files are flushed.
+
+./src/H5ACprivate.h
+./src/H5Bprivate.h
+./src/H5Dprivate.h
+./src/H5Eprivate.h
+./src/H5Fprivate.h
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gpublic.h
+./src/H5HGprivate.h
+./src/H5HLprivate.h
+./src/H5Iprivate.h
+./src/H5MFprivate.h
+./src/H5MMprivate.h
+./src/H5Oprivate.h
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+./src/H5RAprivate.h
+./src/H5Sprivate.h
+./src/H5Spublic.h
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./src/H5Vprivate.h
+./src/H5Zprivate.h
+./src/H5private.h
+./src/H5public.h
+ Reindented after __DLL__ was added.
+
+
+Changes since 19990121
+----------------------
+
+./configure.in
+./acconfig.h
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5public.h
+./src/H5Omtime.c
+ Check for <stddef.h>
+
+ Checks for `__tm_gmtoff' in `struct tm' because old versions
+ of GNU libc are different than recent versions. This fixes the
+ failing mtime test.
+
+./bin/config.guess
+./config/freebsd2.2.7 [REMOVED]
+./config/freebsd [ADDED]
+ Changed the name so it works with all versions of FreeBSD.
+
+./src/H5.c
+ Moved H5F after H5T and H5G in H5_term_library() to satisfy
+ dependencies.
+
+./src/H5G.c
+ Fixed a bug that caused H5Gcreate() to fail if the group name
+ had trailing slashes.
+
+./src/H5Gpublic.h
+ Changed `group_name' to `name' in a prototype.
+
+./src/Makefile.in
+ Dynamic library on Linux, but needs for work to be generally
+ useful.
+
+./src/H5HG.c
+./src/H5HGprivate.h
+ Fixed alignment problems when using old GCC compilers (like
+ the one shipped with RedHad Linux).
+
+./tools/h5ls.c
+ Fixed a bug where the contents of the root group could be
+ listed twice if there was a link back to the root
+ group. Similarly for groups that are mentioned on the command
+ line.
+
+ Fixed a bug where unknown types were printed with a random
+ type class number.
+
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tprivate.h
+ Fixed O(log N) conversion bugs.
+
+Changes since 19990118
+----------------------
+
+./tools/h5tools.c
+ Strings are not converted to null-padding before being
+ printed; they are printed with whatever byte values appear in
+ the file.
+
+./tools/h5ls.c
+ Now able to display attribute data type and data.
+
+ Added a `-f' or `--full' switch which causes the full name of
+ each object to be displayed instead of just the base name.
+
+ Added a `-r' or `--recursive' switch that recursively prints
+ the contents of groups, avoiding cycles.
+
+ More bulletproofing for non-printable characters in things
+ like object names, attribute names, and comment strings. We
+ don't want listing a file to send terminal escape sequences
+ because it's sometimes possible to execute commands that way.
+
+ Since h5ls doesn't usually use quotes around object names we
+ must sometimes escape space characters.
+
+ External files are listed in a table to make the output less
+ confusing.
+
+./tools/h5tools.c
+./tools/h5tools.h
+ Changed h5dump() to h5dump_dset() and added h5dump_mem(). Also
+ make h5dump_fixtype() public.
+
+./test/dtypes.c
+ Wrote some data to an attribute to test h5ls attribute
+ printing.
+
+./src/H5ACprivate.h
+./src/H5Apublic.h
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+./src/H5Epublic.h
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5Gprivate.h
+./src/H5HLprivate.h
+./src/H5Oprivate.h
+./src/H5Ppublic.h
+./src/H5RApublic.h
+./src/H5Rpublic.h
+./src/H5Spublic.h
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5Vprivate.h
+./src/H5Zpublic.h
+./src/H5private.h
+./src/H5public.h
+ Reindented function prototypes after `HDF5API' was added. Also
+ rewrapped long lines.
+
+./src/H5Flow.c
+ Added an `#ifdef WIN32' around an unused variable.
+
+./src/H5api_adpt.h
+ Removed extra carriage returns inserted by "broken" operating
+ system.
+
+./src/H5Dprivate.h
+./src/H5Oprivate.h
+./src/H5Vprivate.h
+./src/H5private.h
+ Removed extraneous inclusion of H5api_adpt.h since it's
+ included in H5public.h which is included by everything.
+
+./src/Makefile.in
+ Added H5api_adpt.h to the list of public header files to fix
+ broken `make install'.
+
+Changes since 19990105
+----------------------
+
+./INSTALL
+./doc/html/Compression.html
+./doc/html/Filters.html
+ Disassociated GNU from zlib. Did not change the introduction
+ which incorrectly states that compression in hdf5 is available
+ only if GNU gzip is available (should read zlib).
+
+ Changed a typo in INSTALL to match what is documented in
+ various other places: that zlib 1.1.2 (not 1.0.2) or better is
+ required for compression.
+
+ Added a reference to the main zlib web page in various places.
+
+./src/H5Fistore.c
+ Fixed a typo in a comment.
+
+./src/H5Flow.c
+ Removed carriage returns from the end of lines.
+
+./test/dsets.c
+ The deflate compression tests are still run but `-SKIP-' is
+ printed instead of `PASSED' if the zlib library was not
+ detected at configuration time. The tests check that the
+ compression layer (H5Z) is correctly bypassed.
+
+
+Changes since 19981217
+----------------------
+
+./MANIFEST
+ Removed some ddl files from tools/testfiles that are no longer
+ part of CVS. Added new enum.c test.
+
+./configure [REGENERATED]
+./configure.in
+ Changed printf long long format detection to favor `L' over
+ `ll'.
+
+./src/H5.c
+./src/H5private.h
+ Renamed `library_initialize_g' to `H5_libinit_g' to make it
+ conform to our naming scheme.
+
+./src/H5I.c
+ Fixed a bug in H5I_dec_ref() that caused the return value to
+ always be zero instead of the new reference count.
+
+./src/H5.c
+./src/H5Odtype.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./test/Makefile.in
+./test/dtypes.c
+./test/enum.c [NEW]
+ Added support for enumeration data types.
+
+./src/H5RA.c
+ Renamed H5T_insert() to H5T_struct_insert() and added
+ H5T_enum_insert().
+
+./src/H5RA.c
+./src/H5Shyper.c
+ Added casts to size_t for the third argument of memcpy() to
+ shut up a warning message from insure++.
+
+./src/H5T.c
+ Changed "can't" to "unable to" in some error messages to be
+ more consistent.
+
+./src/H5detect.c
+ If fork() or waitpid() are unavailable then we assume no
+ alignment constraints. Hopefully this is the case only on NT
+ and Intel CPU's don't have alignment constraints.
+
+./test/fillval.c
+./test/istore.c
+ Fixed memory leaks during error handling.
+
+./tools/h5ls.c
+ Displays enumeration type information.
+
+./tools/h5tools.c
+ Displays enumerated data using symbol names.
+
+./src/H5public.h
+ Include <limits.h> because the H5T_NATIVE_CHAR macro needs the
+ definition for CHAR_MIN.
+
+Changes since 19981214
+----------------------
+
+./INSTALL
+ Added warning that enabling debugging code can adversely
+ affect performance even when the debugging isn't turned on at
+ run-time. Performance testing shows that under certain
+ circumstances (like data type conversions of compound types)
+ the H5_timer functions, although only a few lines each,
+ contribute a fairly large percent to the execution time.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+ Improved the H5Tunregister() function to make unregistering
+ more flexible. It takes the same arguments as H5Tregister()
+ but also accepts wild cards. All conversion functions that
+ match the H5Tunregister() search criteria are removed from the
+ global type conversion table.
+
+ The H5Tregister_hard() and H5Tregister_soft() were combined
+ into a single function called H5Tregister() which is the
+ counterpart to H5Tunregister(). A new `persistence' argument
+ was added to differentiate between the two types of conversion
+ functions.
+
+ The application is allowed to register a hard conversion
+ function for the no-op conversion path although the library
+ isn't obligated to call it (it usually does). This is mostly
+ for completeness, but the application might use it to help
+ determine if the raw data pipeline was able to use the
+ optimized path for the case when no type conversion is
+ necessary. The library doesn't allow this path to be
+ unregistered although the application can redefine it as often
+ as it likes.
+
+ Fixed the type conversion tables in preparation for MT-safety
+ and to fix previosly-known design bugs wrt. unregistering
+ conversion functions or changing the C function associated
+ with a conversion path. The MT-safety stuff is documented in a
+ separate white paper.
+
+ Increased the conversion function debugging name from 9
+ characters to 31 characters so the output can be more
+ descriptive.
+
+ Moved conversion path statistics from the H5T_cdata_t member
+ into the conversion path itself. This makes H5T_cdata_t
+ contain only application-visible data structures.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5Ofill.c
+./src/H5P.c
+./src/H5T.c
+ Improved the way type conversion functions are called so the
+ caller doesn't have to check for data type debugging and
+ increment type conversion timers and statistics.
+
+ Changed check for no-op conversion since it is now
+ application-definable and there may even be more than one
+ definition at a time in a multi-threaded application (one
+ thread might be using the no-op conversion path when some
+ other thread changes its definition -- the first thread still
+ sees the original defintion until it's done with the
+ operation).
+
+./doc/html/Datatypes.html
+ Updated the user guide to reflect the changes to data type
+ conversion registration functions.
+
+./bin/trace
+./src/H5.c
+ Added tracing support for the new H5T_pers_t data type.
+
+./test/dtypes.c
+ Added printf to display alignment value if non-aligned data
+ types are being tested.
+
+./test/h5test.c
+ Modified the H5Tunregister() calls to use the new
+ arguments. All 94 of those calls can be replaced by a single
+ call to the new H5Tunregister() function.
+
+./src/H5.c
+ Added HAVE_GETTIMEOFDAY around an auto variable and
+ initialized the elapsed time to zero when gettimeofday() is
+ not available.
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5P.c
+ Added an H5*_init() functions which do the same thing as
+ H5*_init_interface() but can be called from other packages and
+ don't do anything if the interface is already initialized.
+ This fixes a couple memory leaks in applications that
+ repeatedly close and open the library with H5close().
+
+./src/H5Tconv.c
+ Optimized some data alignment code in the hardware conversion
+ functions.
+
+ Hardware conversions accumulate statistics about source and
+ destination data alignment and print that information when the
+ conversion function is unregistered (usually when the
+ application exits) if data type debugging is compiled into the
+ library and enabled at run-time.
+
+ The conversion caching was cleaned up for the compound data
+ type conversion function. It now caches conversion paths in a
+ manner that will be MT-safe and is much simpler than the old
+ method. Also cleaned up some array index maps.
+
+./src/H5detect.c
+ Fixd mispelling of alingemnt.
+
+./src/H5private.h
+ Changed `TRUE' to `1' in assignment to interface_initialize_g
+ in FUNC_ENTER macro definition.
+
+./tools/testh5dump.sh
+ Completely rewritten to make it shorter, better documented,
+ and conforming to most of the other test outputs.
+
+ The comparison of the actual output with the expected output
+ is insensitive to differences in white space. The test now
+ passes for the first time on Linux where the output width
+ wasn't as expected but the output was otherwise correct.
+
+./tools/testfiles/tall-1.ddl
+./tools/testfiles/tall-2.ddl
+./tools/testfiles/tall-3.ddl
+./tools/testfiles/tattr-1.ddl
+./tools/testfiles/tattr-2.ddl
+./tools/testfiles/tattr-3.ddl
+./tools/testfiles/tattr-4.ddl
+./tools/testfiles/tcomp-1.ddl
+./tools/testfiles/tcomp-2.ddl
+./tools/testfiles/tcomp-3.ddl
+./tools/testfiles/tcomp-4.ddl
+./tools/testfiles/tdset-1.ddl
+./tools/testfiles/tdset-2.ddl
+./tools/testfiles/tdset-3.ddl
+./tools/testfiles/tdset-4.ddl
+./tools/testfiles/tgroup-1.ddl
+./tools/testfiles/tgroup-2.ddl
+./tools/testfiles/tgroup-3.ddl
+./tools/testfiles/tlink-1.ddl
+./tools/testfiles/tlink-2.ddl
+./tools/testfiles/tlink-3.ddl
+./tools/testfiles/tlink-4.ddl
+./tools/testfiles/tlink-5.ddl
+./tools/testfiles/tslink-1.ddl
+./tools/testfiles/tslink-2.ddl
+ Changed `../h5dump' to just `h5dump'.
+
+./config/alpha-dec-osf4.0
+ Added more warning and optimization switches to the native
+ compiler.
+
+Changes since 19981207
+----------------------
+
+./MANIFEST
+ Added tcompound2.{dmp,h5} and tdset2.{dmp,h5} used by the
+ h5toh4 testing.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ Added check for <sys/timeb.h> for Win32.
+
+ Determines sizeof(char) just so we have a complete list of
+ type sizes defined as preprocessor symbols.
+
+./src/H5detect.c
+./src/H5T.c
+./src/H5Tpkg.h
+ Detects alignment constraints. In order for this to work the
+ operating system must not correct unaligned data (for
+ instance, on the DEC Alpha one might need to say `uac p
+ sigbus' before running H5detect).
+
+./src/H5private.h
+ Includes <signal.h> because it's needed by H5detect.c to
+ detect alignment constraints.
+
+./src/H5Tconv.c
+ Added extra checks to all hardware conversion functions so
+ they align data when necessary before the conversion. This
+ slows down the conversions somewhat but they're still much
+ faster than the software conversions.
+
+./test/dtypes.c
+ By setting a constant at the top of the source you can test
+ conversions where the data is aligned on various byte
+ boundaries.
+
+ By setting a constant at the top of the source you can
+ simulate architectures that have alignment constraints on
+ architectures that don't.
+
+ Changed typo SIZEOF_LDOUBLE to SIZEOF_LONG_DOUBLE in a few
+ places.
+
+
+Changes since 19981125
+----------------------
+
+./src/H5HG.c
+ Fixed a bug in the alignment calculation for the heap free
+ space. The reference test passes now.
+
+Changes since 19981125
+----------------------
+
+./doc/html/Datatypes.html
+./src/H5.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5detect.c
+./test/chunk.c
+./test/dtypes.c
+./test/h5test.c
+./test/mtime.c
+./test/tattr.c
+./test/th5s.c
+./tools/h5dump.c
+./tools/h5dumputil.c
+./tools/h5import.c
+./tools/h5ls.c
+./tools/h5toh4.c
+./tools/h5tools.c
+ Renamed the old H5T_NATIVE_CHAR type to H5T_NATIVE_SCHAR to
+ denote that it is always signed.
+
+ Added a new H5T_NATIVE_CHAR type which has the same range,
+ representation, and behavior as either H5T_NATIVE_SCHAR or
+ H5T_NATIVE_UCHAR depending on the compiler and its
+ command-line switches for the application source file which
+ references H5T_NATIVE_CHAR. If source files are compiled with
+ different switches then each source file will resolve
+ H5T_NATIVE_CHAR appropriately so it matches the C type `char'
+ in that source file.
+
+ NOTE: THERE ARE OTHER DOCUMENTATION FILES THAT I DIDN'T CHANGE
+ BECAUSE I CAN'T MODIFY THE SOURCE.
+
+./test/extend.c
+ Swapped two lines to prevent diagnostic messages from messing
+ up the formatted output.
+
+Changes since 19981124
+----------------------
+
+./src/H5T.c
+ Fixed a typo in the registration of the `unsigned char' to
+ `unsigned long long' type conversion that caused it to not be
+ registered, falling back to software whenever that conversion
+ path was taken.
+
+./MANIFEST
+./test/Makefile.in
+./test/testhdf5.c
+./test/testhdf5.h
+./test/theap.c [REMOVED]
+./test/lheap.c [NEW]
+./test/tohdr.c [REMOVED]
+./test/ohdr.c [NEW]
+./test/tstab.c [REMOVED]
+./test/stab.c [NEW]
+ Removed the `t' from the front of these names and made each
+ test a stand-alone program following the format of most of the
+ other tests.
+
+./test/big.c
+ Uses libh5test.a but always sets the low-level driver to 1GB
+ file family.
+
+ The `#if' near the top to set the data space to 8GB has been
+ simplified now that `long_long' is always defined and the
+ error message is improved when `long_long' isn't wide enough.
+
+ Cleanup code was added to the error handling.
+
+./test/gheap.c
+./test/istore.c
+ Uses libh5test.a. Added error cleanup code.
+
+./test/dtypes.c
+./test/h5test.c
+ Added 68 new tests that check hardware and software
+ conversions between `long long' and `unsigned long long' and
+ the other integer types. The tests only run on machines where
+ sizeof(long_long)!=sizeof(long). We test a total of 180
+ different integer conversions, half in hardware and half in
+ software.
+
+ Cut down the number of times each test is run from 5 to 1 so
+ it doesn't take so long. If you want to run more times
+ there's a constant that can be changed at the top of the file.
+
+./test/extend.c
+ Removed unused variable.
+
+./test/h5test.c
+./test/h5test.h
+./test/external.c
+./test/fillval.c
+ The h5_cleanup() returns true/false so it can be used in an `if'
+ statement to clean up additional files.
+
+./doc/html/Environment.html
+ Indented. Added HDF5_PREFIX and HDF5_DRIVER descriptions.
+
+./src/H5P.c
+ Changed the trace type for the second argument from `Iu' to
+ `x' since it's an output parameter.
+
+./INSTALL
+ Added a warning that the GNU zlib that comes with the latest
+ version of HDF4 is too old to use with HDF5 and must be
+ renamed so configure doesn't see it when `--enable-hdf4' is
+ used.
+
+Changes since 19981121
+----------------------
+
+./src/H5Tconv.c
+ With my poor eyesight I missed the definitions of SCHAR_MIN
+ and SCHAR_MAX in <limits.h> and used CHAR_MIN and CHAR_MAX
+ incorrectly. I changed all occurrences of the latter to the
+ former and the new hardware integer type conversions now work
+ on Irix.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5private.h
+./src/H5.c
+./test/h5test.c
+ Added a wrapper for HDsnprintf() that just calls sprintf() if
+ snprintf() isn't available.
+
+./MANIFEST
+ Added Paul's new h5toh4 files.
+
+Changes since 19981120
+----------------------
+
+./MANIFEST
+./test/Makefile.in
+./test/shtype.c [REMOVED]
+ Removed shtype.c because it was all commented out. Besides,
+ these tests are done in dtypes.c now anyway.
+
+./test/external.c
+./test/fillval.c
+./test/flush1.c
+./test/flush2.c
+./test/links.c
+./test/mount.c
+./test/mtime.c
+./test/unlink.c
+ The tests that check the HDF5 API use the h5test support
+ functions. For one thing, that means that you can specify the
+ file driver that thay use by the HDF5_DRIVER environment
+ variable. Possible values are:
+
+ HDF5_DRIVER='sec2' Use read() and write()
+ HDF5_DRIVER='stdio' Use fread() and fwrite()
+ HDF5_DRIVER='core' Use malloc() and free()
+ HDF5_DRIVER='split' Split meta and raw data
+ HDF5_DRIVER='family N' Use file families with each
+ member being N megabytes (N
+ can be fractional, defaults to
+ one).
+
+ Some tests might fail for certain drivers: for instance, the
+ mount and link tests fail for the `core' driver because
+ they must be able to close and then reopen a file.
+
+Changes since 19981119
+----------------------
+
+./src/H5.c
+./src/H5A.c
+./src/H5AC.c
+./src/H5B.c
+./src/H5D.c
+./src/H5E.c
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gstab.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5I.c
+./src/H5Iprivate.h
+./src/H5MF.c
+./src/H5MM.c
+./src/H5O.c
+./src/H5Oattr.c
+./src/H5Ocomp.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Ofill.c
+./src/H5Olayout.c
+./src/H5Omtime.c
+./src/H5Oname.c
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5P.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5S.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Smpio.c
+./src/H5Snone.c
+./src/H5Spoint.c
+./src/H5Sselect.c
+./src/H5T.c
+./src/H5TB.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+./src/H5V.c
+./src/H5Z.c
+./src/H5detect.c
+./src/H5private.h
+ Most of these changes are because the `interface_initialize_g'
+ variable change from hbool_t to int. It's a one line change.
+
+ Changed the way the library is closed so we have more control
+ over the order the interfaces are shut down. Instead of
+ registering an atexit() function for every interface in some
+ haphazard order we just register one: H5_term_library() which
+ then calls the H5*_term_interface() functions in a
+ well-defined order.
+
+ If the library is closed and then reopened repeatedly by
+ calling H5close() and H5open() in a loop we only add one copy
+ of the library termination functions with atexit().
+
+ Termination is a two-step process in order to help detect
+ programming errors that would cause an infinite loop caused by
+ the termination of one interface waking up some other
+ previously terminated interface. The first step terminates
+ the interface and *marks it as unusable*. After all
+ interfaces are terminated then we mark them all as usable
+ again. The FUNC_ENTER() macro has been modified to return
+ failure or to dump core (depending on whether NDEBUG is
+ defined) if we try to call an interface while it's shutting
+ down.
+
+./src/H5.c
+ The H5dont_atexit() function returns failure if it's called
+ more than once or if it's called too late. However, the error
+ stack is not automatically printed on failure because the
+ library might not be initialized yet
+
+./test/chunk.c
+./test/flush1.c
+./test/flush2.c
+./test/iopipe.c
+./test/overhead.c
+./test/ragged.c
+ Changed the extra cast for Win32 so we do floating point
+ division again -- it was just confusion about precedence and
+ associativity of casting and the C coercion rules. Removed
+ extra carriage returns inserted by broken operating system.
+
+./src/H5Ffamily.c
+ Fixed an bug where H5F_fam_write() lowered the EOF marker for
+ one of the family members causing H5F_fam_read() to read
+ zeros.
+
+./test/h5test.h [NEW]
+./test/h5test.c [NEW]
+./test/Makefile.in
+./test/bittests.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/extend.c
+./test/external.c
+ Support library for test files. This isn't done yet but
+ Katie's contractions are ~10 minutes apart so I figured I
+ better back this stuff up just in case I'm not here next
+ week...
+
+ Eventually all test files will understand HDF5_DRIVER to name
+ the low level file driver and parameters so we can easily test
+ various drivers. They will also understand HDF5_PREFIX to
+ prepend to the beginning of file names which is necessary for
+ testing ROMIO with various drivers. Also, the cleanup function
+ will know how to use the file name prefix and will understand
+ different file driver naming schemes like file families. I'm
+ not sure they'll understand the `gsf:' type prefixes yet.
+
+ Note, the external test is completely commented out because
+ I'm in the middle of modifying it. It will still compile and
+ run but it doesn't test anything at the moment.
+
+Changes since 19981119
+----------------------
+
+./test/flush2.c
+./test/overhead.c
+ Removed carriage-returns inserted by a broken operating system.
+
+./test/big.c
+./test/mtime.c
+./test/ragged.c
+./tools/h5ls.c
+ Removed inclusion of <H5config.h>, system header files, and definition
+ of __unused__ since this all happens in <H5private.h>.
+
+./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/overhead.c
+./test/shtype.c
+./test/unlink.c
+./tools/h5import.c
+./tools/h5repart.c
+ Removed inclusion of <H5config.h> since <hdf5.h> includes it.
+
+./test/flush1.c
+ Includes <stdlib.h>, protects inclusion of <unistd.h> by using
+ HAVE_UNISTD_H instead of STDC_HEADERS.
+
+Changes since 19981118
+----------------------
+
+./src/H5.c
+./src/H5Smpio.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpublic.h
+./src/H5detect.c
+./src/H5private.h
+./src/H5public.h
+./test/big.c
+ The `long long' type isn't quite as prevalent as we had hoped;
+ there is at least one system that defines `__int64' but not
+ `long long'. Therefore, I've temporarily changed all
+ occurrences of `long long' to `long_long' and then #define
+ that in H5private.h based on the existence of `long long' or
+ `__int64'. This gets rid of some #ifdef's in other parts of the code.
+ The semantics of the hdf5 types are:
+
+ *int8_t Exactly one byte
+ *int16_t At least two bytes. We favor 32-bit integers over
+ 16-bit integers if the 16-bit integer is 4-bytes wide
+ (Cray)
+ *int32_t At least four bytes.
+ *int64_t At least eight bytes
+ long_long The widest integral integer type
+
+ The H5Smpio.c contains debugging code which is non-portable.
+
+./tools/h5ls.c
+ Changed the order native types are detected so we favor the name `int'
+ over `short' or `long' if two of them are the same size.
+
+./config/conclude.in
+ Added a rule to make test programs depend on the hdf5 library. This
+ fixes a make bug where changing H5detect.c and then running `make
+ test' caused H5Tinit.c to not be recompiled and therefore the test
+ files are not relinked.
+
+Changes since 19981116
+----------------------
+
+./INSTALL.parallel [NEW]
+ We're beginning to unify some of the parallel installation
+ steps. This file will contain general information for
+ installing the parallel library. It's not complete yet.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ Check for xdr_int() in libnsl required on Solaris when linking
+ with hdf4. It's found on the Irix system I tested which
+ complains that `-lnsl' didn't resolve any symbols. Oh well.
+
+ Fixed the order of searching for libdf and libmfhdf for hdf4
+ linking.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5Z.c
+ Check for compress() in libz in order to find older versions
+ of the library that will still work for hdf4. Added a
+ separate check for compress2() that hdf5 will use.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+./src/H5.c
+./src/H5private.h
+./src/H5A.c
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5D.c
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5HG.c
+./src/H5HL.c
+./src/H5O.c
+./src/H5Oattr.c
+./src/H5Ocomp.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Ofill.c
+./src/H5Olayout.c
+./src/H5Omtime.c
+./src/H5Oname.c
+./src/H5Oprivate.h
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Snone.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./src/H5Sselect.c
+./src/H5T.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5V.c
+./test/bittests.c
+./test/gheap.c
+./test/hyperslab.c
+./test/istore.c
+./test/tmeta.c
+./test/trefer.c
+./test/tselect.c
+./tools/h5debug.c
+./tools/h5tols.c
+ Added checks for Posix.1g types like `int8_t'. If not defined
+ then H5private.h defines them. Changed all `int8' etc. to
+ `int8_t'.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5I.c
+./src/H5P.c
+./src/H5R.c
+./src/H5RA.c
+./src/H5S.c
+./src/H5T.c
+./src/H5TB.c
+./src/H5Z.c
+ Calling H5*_term_interface() resets interface_initialize_g to
+ FALSE so a subsequent call to H5open() (implied or explicit)
+ reinitializes global variables properly.
+
+./src/H5private.h
+./src/H5Oefl.c
+./src/H5S.c
+ Changed MAX_SIZET, MAX_SSIZET, MAX_HSIZET, and MAX_HSSIZET to
+ SIZET_MAX, SSIZET_MAX, HSIZET_MAX, and HSSIZE_MAX to they
+ match the Posix.1 constants in <limits.h>.
+
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5detect.c
+ Added 36 more integer hardware conversion functions to the
+ type conversion table for conversions to/from `long long' and
+ `unsigned long long'. The `long long' names will be changed
+ shortly to make them portable to Win32.
+
+ Changed H5T_init() to H5T_native_open() and added an
+ H5T_native_close() to open and close the predefined native
+ data types.
+
+ Increased the initial size of the type conversion table from
+ 64 to 128 entries.
+
+ Reordered the 90 new integer conversion functions so the names
+ that are printed favor `int' over `short' or `long' when two
+ of them are the same.
+
+./test/dtypes.c
+ Added hardware and software integer conversion tests for the
+ 56 functions I added recently but not the additional 36
+ checked in this time. That will come next.
+
+ Call H5close() after each test so type conversion statistics
+ are easier to follow. Try this: $ HDF5_DEBUG=t ./dtypes
+
+ Added more debugging output for when things go wrong.
+
+./src/H5private.h
+ Removed trailing carriage-returns inserted by broken operating
+ system ;-)
+
+
+Changes since 19981113
+----------------------
+
+./config/conclude.in
+./test/Makefile.in
+./tools/Makefile.in
+ The Makefile $TESTS variable has finally been split into
+ $TEST_PROGS and $TEST_SCRIPTS with the latter being the names
+ of shell scripts that need to be run with `/bin/sh'. Now we
+ don't have to copy each shell script before we run it. NOTE:
+ THIS CHANGE DOES NOT AFFECT THE PABLO MAKEFILE SINCE THAT FILE
+ IS A COPY OF A PREVIOUSLY GENERATED MAKEFILE.
+
+./src/Makefile.in
+ Added H5Snone.c to the source list.
+
+./src/H5G.c
+ Plugged a memory leak by emptying the object type "isa" table
+ when the library is closed.
+
+./src/H5Tconv.c
+./src/H5Tpkg.h
+ Added 48 new type functions to take advantage of hardware for
+ integer type conversions. These functions are not registered
+ in the conversion table yet because I haven't fully tested
+ them.
+
+./src/H5Tpkg.h
+ Removed __unused__ qualifiers from prototypes.
+
+
+Changes since 19981111
+----------------------
+
+./INSTALL
+ Added instructions about specifying a path for GNU zlib and
+ HDF4 headers and library.
+
+ Added comments for each of the tool names. Added h5toh4 as a
+ tool name.
+
+./configure.in
+./conigure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ The config/* scripts get invoked with $CC_BASENAME set the
+ base name of the compiler in order to make it easier to handle
+ setting compiler flags for different compilers in a big case
+ statement. For instance, if $CC has the value
+
+ /usr/local/mpi/bin/mpicc -ansi -64
+
+ then $CC_BASENAME will be `mpicc'. The $CC_BASENAME is not
+ set if $CC is not set.
+
+ Fixed alignment in `configure --help'.
+
+ An include and/or library path can be specified for GNU zlib
+ if configure can't find it in normal places. The "normal"
+ means wherever your compiler normally searches, including
+ search paths you've added through environment variables like
+ CPPFLAGS and LDFLAGS. The INSTALL file has instructions.
+
+ The `-ljpeg' library is detected.
+
+ If `ssize_t' is not found then a #define is added to
+ H5config.h similar to what we already do for `size_t'.
+
+ We detect the hdf5 header file `mfhdf.h' and libraries
+ `-lmfhdf' and `-ldf' and if found define the H5TOH4 and
+ TESTH5TOH4 Makefile variables. The user can specify an
+ include and/or library path. The INSTALL file has
+ instructions.
+
+ The `RUNTEST' variable has been split into `RUNSERIAL' and
+ `RUNPARALLEL' because these are different commands. The
+ makefile still uses `RUNTEST', which defaults to the RUNSERIAL
+ value. The new testpar/Makefile.in sets RUNTEST to the
+ RUNPARALLEL value. The default RUNSERIAL value is empty and
+ the default RUNPARALLEL value is `mpirun -np 2'. These can
+ both be overridden in the config/* files. To make the value
+ the empty string set it like `RUNPARALLEL=none' in the
+ config/* file.
+
+ The new testpar/Makefile is generated from testpar/Makefile.in
+
+./config/commence.in
+ Added the RUNSERIAL and RUNPARALLEL makefile definitions.
+
+./src/Makefile.in
+ The `H5detect' program is run with RUNSERIAL, which is empty
+ on all platforms except intel-osf1 (ASCI/Red)
+
+./config/conclude.in
+ Removed the `.c.a:' implicit rule -- we don't use it any more.
+
+./config/BlankForm
+./config/alpha-dec
+./config/alpha-dec-osf4.0
+./config/freebsd2.2.7
+./config/hpux10.20
+./config/hpux9.03
+./config/intel-osf1
+./config/irix5.3
+./config/irix6.2
+./config/irix64
+./config/linux
+./config/powerpc-ibm-aix4.2.1.0
+./config/rs6000-ibm-aix4.1.4.0
+./config/solaris2.5
+ All of these files have been updated to hande multiple
+ compilers. Most of them assume `cc' if CC is not set. The
+ documentation in `BlankForm' has been updated and
+ documentation in the other files refer to `BlankForm'.
+
+ The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra
+ library search paths.
+
+./examples/Makefile.in
+./test/Makefile.in
+./tools/Makefile.in
+ Simplified by grouping some dependency information together
+ more succinctly.
+
+ The tools Makefile.in has been modified to work with the
+ `h5toh4' and `testh5toh4' programs. Until Paul checks these
+ in you may have problems compiling. If so, just create files
+ h5toh4.c and testh5toh4.c that contain:
+
+ #include <stdio.h>
+ int main(int argc, char *argv[]) {
+ fprintf(stderr, "%s: not implemented\n", argv[0]);
+ return 1;
+ }
+
+./src/H5public.h
+ Removed definition for `ssize_t' since this is now handled by
+ configure in H5config.h with a #define.
+
+
+./MANIFEST
+./testpar/Makefile.in [NEW]
+ Added a makefile for parallel tests. As soon as we get this
+ working properly we can remove the other four makefiles in
+ that directory and maintain just one.
+
+Changes since 19981106
+----------------------
+
+./tools/h5ls.c
+ The chunk dimensions and total size is printed for chunked datasets.
+
+./examples/h5_attribute.c
+./examples/h5_select.c
+./test/chunk.c
+./test/iopipe.c
+./test/ragged.c
+./src/H5.c
+./src/H5private.h
+./src/H5public.h
+ Removed extra carriage-return characters inserted by a broken
+ OS :-)
+
+ Reformatted strange-looking comments.
+
+ Removed C++ comments.
+
+ Wrapped long lines.
+
+./examples/h5_attribute.c
+./examples/h5_select.c
+ Removed inclusion of private headers.
+
+ Changed `uint32' (originally `uint') to `unsigned' because
+ `int32' is not exported as part of the API.
+
+./src/H5Fmpio.h
+ Removed includes for <sys/types.h> and <sys/stat.h> since
+ they're already included by H5private.h. All system include
+ files should be included in H5private.h so we can wrap them
+ with appropriate feature macros.
+
+./tools/h5import.c
+./tools/h5repart.c
+ Included header files like all other programs in that
+ directory.
+
+./tools/h5tools.c
+ Better type checking for `hsize_t' and `hssize_t'.
+
+
+Changes since 19981105
+----------------------
+
+./configure.in
+./acconfig.h
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ Added checks for functions, structs, constants, and header
+ files used in h5ls.c to determine the output width with
+ various Windows compilers and Unix variants.
+
+ Added check for <sys/stat.h> and defined
+ HAVE_SYS_STAT_H. Included <sys/stat.h> in H5private.h outside
+ the Posix.1 #include's section.
+
+./src/H5RA.c
+ Less aggressive about failing -- rather returns false, which
+ allows type detection to continue.
+
+./src/h5ls.c
+ Data types are displayed for datasets and named data types when
+ `-v' or `--verbose' is specified on the command-line. The
+ algorithm is a little different than the dumper because we're
+ trying to be human-friendly, not necessarily machine-friendly.
+
+ * Any data type which matches a native C type gets printed
+ something like `native double'.
+
+ * A floating point type that matches one of the IEEE standard
+ types but not one of the native types gets printed like `IEEE
+ 64-bit big-endian float'.
+
+ * Other floating point values have information about sign bit
+ location; exponent size, location, and bias; and significand
+ size, location, and normalization.
+
+ * Padding and offsets are displayed for types that have
+ padding (precision != size), including internal padding for
+ some floating point data types.
+
+ * Non-native integer types are displayed like `32-bit
+ little-endian unsigned integer'.
+
+ * Compound data types have each member displayed including the
+ member name, byte offset within the struct, dimensions, index
+ permutation, and data type.
+
+ * String types are displayed like `256-byte null-terminated
+ ASCII string'.
+
+ * References are displayed like `8-byte unknown reference'
+ until the reference interface stabilizes a little.
+
+ * All other types including types not yet defined will be
+ printed like `4-byte class-9 unknown'.
+
+ The dimensionality of scalar datasets is printed like `{SCALAR}'
+ instead of just `{}'.
+
+ If external raw files are used to store a dataset then the offsets,
+ sizes, and file names of each are printed if `-v' or `--verbose'
+ was given on the command-line.
+
+ If an object is found and h5ls can't determine the object type then
+ it still tries to print the number of hard links, the OID, and any
+ comment that might be present if `-v' or `--verbose' was specified.
+
+ If the `-d' or `--dump' switch is turned on then ragged arrays will
+ report that the data can only be dumped by dumping the component
+ datasets explicitly. I'm not planning to implement this since
+ we're going to eventually change the whole way ragged arrays are
+ stored.
+
+ Compound data values do not have the component names displayed by
+ default when `-v' or `--verbose' is turned on. Instead, the names
+ can be displayed with `-l' or `--label'.
+
+ The output width is determined by the first rule that applies:
+
+ * If the `-wN', `-w N' or `--width=N' switch appeared on
+ the command line then use N for the output width.
+
+ * Query the OS for the tty width in a highly unportable way
+ borrowed from GNU `less' depending on what functions and
+ data structures were found during configuration (if any):
+ _getvideoconfig(), gettextinfo(), _srcsize(), ioctl(),
+ GetConsoleScreenBufferInfo(), struct videoconfig, struct
+ text_info, the TIOCGWINSZ ioctl, the TIOCGETD ioctl.
+
+ * If the `COLUMNS' environment variable is set then use
+ its value.
+
+ * Use the value 80.
+
+ Just for kicks, run Mark and Jim's test_vbt and then say `h5ls -dlsv
+ test.vbt'. You can also try it on the various *.h5 files in the
+ test/example directories.
+
+./config/linux
+ Removed turning on parallel by default on Robb's macine.
+
+
+Changes since 19981102
+----------------------
+
+./bin/snapshot
+ Made same fix as for the release script yesterday.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5G.c
+./src/H5Gprivate.h
+./src/H5Gpublic.h
+./src/H5O.c
+./src/H5Oprivate.h
+./src/H5RA.c
+./src/H5RAprivate.h
+./src/H5T.c
+./src/H5Tprivate.h
+ Improved object type checking. Instead of determining the
+ object type by trying to open each of the possible types, we
+ keep a table of associations between object type number (like
+ H5G_GROUP, H5G_DATASET, H5D_TYPE, and H5D_RAGGED) and an `isa'
+ function that returns true if the object header has the right
+ messages to make the object a particular type. This mechanism
+ also allows specialization of object types by permitting an
+ object to satisfy more than one `isa' function.
+
+ Added `isa' functions for groups, datasets, ragged arrays, and
+ committed data types.
+
+./src/H5config.h.in
+ Added HAVE_STAT_ST_BLOCKS. I thought this had already been
+ added, but apparently not.
+
+./tools/h5ls.c
+ Removed system include files since they're already included by
+ H5private.h and since I wasn't including them portably anyway.
+
+ By default, 1-byte integer types are printed as integer values
+ instead of ASCII characters. However, the `-s' or `--string'
+ command-line switch causes the data to be interpretted as
+ ASCII. String data types are always printed as character
+ data.
+
+ Ragged arrays are now identified as ragged arrays and h5ls
+ doesn't descend into the group automatically. This uses the
+ new object type specialization stuff.
+
+./tools/h5tools.c
+./tools/h5tools.h
+ Added the ability to print 1-byte integer types as either
+ ASCII or numeric data instead of always ASCII. The default is
+ to print as numeric data.
+
+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.
+
+Changes since 19981026
+----------------------
+
+./INSTALL
+ Updated version number. Negated information about debugging
+ and optimizations.
+
+./RELEASE
+ Updated version number. Added a `Changes since the Beta
+ Release' section. Please fill in with anything appropriate.
+
+./README
+ Ran bin/release to update the first two lines with the correct
+ version number.
+
+./doc/html/Version.html
+ Added comment about rewinding the version number to 1.0 for
+ the initial release.
+
+Changes since 19981026
+----------------------
+
+./MANIFEST
+./test/th5s.h5 [NEW]
+./test/th5s.c
+ Added a test to make sure that creating a data space with too
+ large a rank fails.
+
+ Added a test to make sure that reading a file that has a
+ dataset with a space with too large a rank fails. Actually,
+ this one is a little weird: the code that reads the data space
+ message assumes the space is scalar if the message cannot be
+ read. Fortunately the layout message fails also, preventing
+ the dataset from being opened. However, since the data type
+ message is still visible h5ls will report that the object is a
+ named data type.
+
+./test/space_overflow.c [NEW]
+ This is the little program that makes the th5s.h5 file.
+
+./src/H5A.c
+./src/H5R.c
+./src/H5Sselect.c
+ Updated trace info.
+
+./src/H5Olayout.c
+./src/H5Osdspace.c
+ Added code to fail if the dimensionality is too large when
+ decoding a layout or simple data space message.
+
+./src/H5Oprivate.h
+ Redefined H5O_LAYOUT_NDIMS in terms of H5S_MAX_RANK.
+
+./src/H5P.c
+./src/H5S.c
+ Check for ndims>H5S_MAX_RANK in API function calls, added
+ assert to internal functions.
+
+./src/H5V.c
+ Changed a `<' to an `<=' in an assert.
+
+./test/flush2.c
+ Includes stdlib.h for getenv().
+
+./tools/h5tools.c
+ Able to handle up to H5S_MAX_RANK dimensions during output.
+
+
+Changes since 19981023
+----------------------
+
+./MANIFEST
+./test/Makefile.in
+./test/flush1.c [NEW]
+./test/flush2.c [NEW]
+ Test to see if calling H5Fflush() results in a consistent
+ file.
+
+./src/H5.c
+./src/H5A.c
+./src/H5D.c
+./src/H5Fistore.c
+./src/H5I.c
+./src/H5S.c
+./src/H5Shyper.c
+./src/H5Sselect.c
+./src/H5TB.c
+ Changed comparisons against SUCCEED and FAIL to >=0 and <0 in
+ about 15 places.
+
+./src/H5.c
+./src/H5V.c
+./src/H5detect.c
+./src/H5private.h
+./src/H5public.h
+./test/big.c
+./test/chunk.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/external.c
+./test/fillval.c
+./test/iopipe.c
+./test/links.c
+./test/mount.c
+./test/mtime.c
+./test/ragged.c
+./test/shtype.c
+./test/unlink.c
+ Removed ^M from the end of lines inserted on broken OS's ;-)
+
+./src/H5private.h
+ Changed c++ comments to c comments.
+
+./src/H5R.c
+ Added tracing macros.
+
+Changes since 19981022
+----------------------
+
+./MANIFEST
+./doc/html/study.html [DELETED]
+./doc/html/study_1000x1000.gif [DELETED]
+./doc/html/study_250x250.gif [DELETED]
+./doc/html/study_499x499.gif [DELETED]
+./doc/html/study_5000x1000.gif [DELETED]
+./doc/html/study_500x500.gif [DELETED]
+./doc/html/study_p1.gif [DELETED]
+./doc/html/study_p1.obj [DELETED]
+ Removed these old files -- the data was from before the chunk
+ cache was implemented and therefore the whole file was pretty
+ much garbage.
+
+./MANIFEST
+./doc/html/Chunking.html [NEW]
+./doc/html/Chunk_f1.gif [NEW]
+./doc/html/Chunk_f1.obj [NEW]
+./doc/html/Chunk_f2.gif [NEW]
+./doc/html/Chunk_f2.obj [NEW]
+./doc/html/Chunk_f3.gif [NEW]
+./doc/html/Chunk_f4.gif [NEW]
+./doc/html/Chunk_f5.gif [NEW]
+./doc/html/Chunk_f6.gif [NEW]
+./doc/html/Chunk_f6.obj [NEW]
+ New documentation for chunking. It's not quite complete but
+ it gives a pretty good idea of some of the issues affecting
+ performance.
+
+Changes since 19981021
+----------------------
+
+./src/H5I.c
+ If we ran out of object ID's (which happens after about 67
+ million requests) then we'd wrap back to the first possible ID
+ but if we ran out a second time (after ~134 million requests)
+ then H5I_register() failed. Now it continues to wrap as often
+ as needed.
+
+ If we wrapped to the beginning of the possible ID's and then
+ requested ID's till we got toward the end of the list then
+ H5I_register() failed if the last possible ID's were in use.
+ The new behavior is to try all possible ID's (not just higher
+ ID's) before giving up.
+
+
+Changes since 19981019
+----------------------
+
+./src/H5Fistore.c
+ Improved the hash function so it mixes bits better. This
+ results in a few percent improvement in raw data chunk cache
+ efficiency because there are fewer collisions.
+
+./test/chunk.c
+ Added #define's for chunk preemption `w0' value and number of
+ slots in cache.
+
+./src/H5B.c
+ Added some more comments to H5B_insert_helper() and
+ H5B_remove_helper() and also point to some additional
+ documentation.
+
+
+Changes since 19981016
+----------------------
+
+./src/H5F.c
+./src/H5Fpublic.h
+ Added H5Freopen() as documented in earlier e-mails. This is
+ really just a wrapper around H5F_new().
+
+
+Changes since 19981014
+----------------------
+
+./bin/trace
+./src/H5.c
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+ Added a `scope' argument to H5Fflush() which should be either
+ H5F_SCOPE_LOCAL or H5F_SCOPE_GLOBAL and determines which files
+ are flushed (just the specified file or the entire virtual
+ file).
+
+./src/H5F.c
+ Added reference counts to the H5F_t struct so we get the
+ correct behavior between H5Funmount() and H5Fclose().
+
+./src/H5O.c
+ Fixed a memory leak that happens during error handling.
+
+./test/cmpd_dset.c
+./test/unlink.c
+ Fixed a memory leak.
+
+./test/mount.c
+ Enabled the H5Fclose() test.
+
+
+Changes since 19981013
+----------------------
+
+./src/H5.c
+ Fixed a signed vs. unsigned comparison.
+
+./src/H5D.c
+ Setting a fill value of all zeros will cause the fill value to
+ be written to the dataset instead of relying on the low-level
+ file driver initializing unwritten areas with zero.
+
+./src/H5D.c
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5G.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5O.c
+./src/H5T.c
+ More file mounting stuff.
+
+./src/H5I.c
+ Fixed a bug where trying to close an invalid object id caused
+ a core dump. For instance, H5Gclose(-1).
+
+./MANIFEST
+./test/Makefile.in
+./test/mount.c [NEW]
+ Mounting tests.
+
+./src/H5R.c
+ Fixed a couple (herr_t)NULL casts.
+
+Changes since 19981008
+----------------------
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5G.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gpublic.h
+./test/istore.c
+./test/tstab.c
+ Removed CWG functionality.
+
+./tools/Makefile.in
+ Added `_test' where I added `test' last week. Maybe now the
+ snapshots will start up again...
+
+
+Changes since 19981002
+----------------------
+
+./doc/html/H5.format.html
+./src/H5HG.c
+ Fixed a bug in the global heap that caused H5HG_read() to
+ write past the end of the buffer in certain cases.
+
+./test/big.c
+ The test is skipped if hdf5 was configured with
+ `--disable-hsizet'.
+
+./src/H5Ofill.c
+ Data type conversions are implemented for the fill value.
+
+./src/H5.c
+ Tracing prints one of H5P_FILE_CREATE, H5P_FILE_ACCESS,
+ H5P_DATASET_CREATE, H5P_DATASET_XFER, or H5P_MOUNT instead of
+ the more cryptic H5I_TEMPLATE_* constants.
+
+./src/H5D.c
+ Removed prototype for H5D_find_name().
+
+./src/H5I.c
+ The GROUP_MASK and ID_MASK are both calculated from GROUP_BITS
+ instead of being set by hand.
+
+ We don't use the sign bit of hid_t; all valid hid_t values are
+ positive so we can say things like `if ((file=H5Fopen(...))<0)'.
+
+ Changed `(int)pow(2.0,x)' to `1<<x' so we don't have to worry
+ about rounding.
+
+ Fixed H5I_get_type() so it doesn't always fail an assertion.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added minor error H5E_MOUNT
+
+./src/H5F.c
+./src/H5Fprivate.h
+ Added H5Fmount() and H5Funmount(). Mounting and unmounting
+ works as documented but some of the other things aren't
+ implemented yet, the biggest being current working groups
+ always acting on the root of the mount tree, and H5Fclose()
+ closing the entire tree. The rest of the stuff will be added
+ shortly...
+
+./src/H5P.c
+./src/H5Ppublic.h
+ Added the H5P_MOUNT property list but haven't implemented any
+ particular properties for it yet.
+
+./src/H5Gstab.c
+ Hard links across files return an error instead of failing an
+ assertion.
+
+
+
+
+Changes since 19981005
+----------------------
+
+./src/H5D.c
+ Fill values are working for contiguous datasets now except
+ there are two things that need more support from the data
+ space layer, specifically the ability to form a selection from
+ the difference of two selections. They are (1) extending an
+ external contiguous dataset, (2) optimization by delaying the
+ fill until after the first H5Dwrite().
+
+ Renamed H5D_allocate() to H5D_init_storage() since allocation
+ is only part of the story. Added a data space argument so it
+ doesn't have to query the space from the object header -- the
+ space is always available in the caller anyway.
+
+ Removed `#ifdef HAVE_PARALLEL' from a few places where it
+ wasn't necessary. We don't need it around code that doesn't
+ compile anything from mpi.h or mpio.h.
+
+./src/H5Fistore.c
+ Uncommented H5F_istore_alloc() for non-parallel and moved the
+ `#ifdef HAVE_PARALLEL' just around Kim's barrier.
+
+./src/H5Fmpio.c
+ Wrapped a couple long lines.
+
+ Got rid of two signed vs. unsigned comparison warnings.
+
+./MANIFEST
+./test/Makefile.in
+./test/fillval.c [NEW]
+ Added tests for fill values. The contiguous dataset extend
+ test is disabled until H5S_SELECT_DIFF is implemented.
+
+./tools/Makefile.in
+ Fixed a bug where `make test' didn't build the executables
+ first. This should cause the snapshots to start up again.
+
+./Makefile.in
+ Changed to build in `test' directory before `tools'
+ directory. We want the library tests to pass before we even
+ start considering the tools. You can still build and/or test
+ the tools independent of the library tests passing.
+
+Changes since 19981001
+----------------------
+
+./src/H5D.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+ Fixed a couple things for parallel hdf5 that I broke with the
+ last checkin.
+
+./src/H5Ofill.c
+ If no fill value is specified it isn't added to the object
+ header.
+
+./tools/h5ls.c
+ Added a line-feed after `Unknown object' is printed.
+
+./tools/h5tools.c
+ Fixed printing of scalar values. Need to still track down a
+ failed assertion when H5Sselect_hyperslab() is called with a
+ zero size....
+
+Changes since 19980930
+----------------------
+
+./MANIFEST
+./doc/html/H5.format.html
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5O.c
+./src/H5Ofill.c [NEW]
+./src/H5Oprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./src/Makefile.in
+ Added fill values as documented in previous e-mails. They only
+ work for chunked datasets so far.
+
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5P.c
+ Changed H5E_TEMPLATE to H5E_PLIST.
+
+./src/H5Omtime.c
+./src/H5V.c
+ Fixed a typo in a comment.
+
+./src/H5Tconv.c
+ Fixed a bug in compound type conversions that caused an
+ assertion to fail.
+
+Changes since 19980930
+----------------------
+
+./src/H5G.c
+./test/unlink.c
+ Renaming a symbolic link works like on Unix: the link is
+ renamed but the link value is unchanged.
+
+Changes since 19980928
+----------------------
+
+./MANIFEST
+ Changed freebsd2.2.1 to freebsd2.2.7 to match change in file name.
+
+ Added a few missing files. Are all of these supposed to be
+ distributed?
+
+ ./tools/testfiles/h5dumptst.c
+ + ./tools/testfiles/tall-1.ddl
+ + ./tools/testfiles/tall-2.ddl
+ + ./tools/testfiles/tall-3.ddl
+ ./tools/testfiles/tall.ddl
+ ./tools/testfiles/tall.h5
+ + ./tools/testfiles/tattr-1.ddl
+ + ./tools/testfiles/tattr-2.ddl
+ + ./tools/testfiles/tattr-3.ddl
+ + ./tools/testfiles/tattr-4.ddl
+ ./tools/testfiles/tattr.ddl
+ ./tools/testfiles/tattr.h5
+ + ./tools/testfiles/tdset-1.ddl
+ + ./tools/testfiles/tdset-2.ddl
+ + ./tools/testfiles/tdset-3.ddl
+ + ./tools/testfiles/tdset-4.ddl
+ ./tools/testfiles/tdset.ddl
+ ./tools/testfiles/tdset.h5
+ + ./tools/testfiles/tgroup-1.ddl
+ + ./tools/testfiles/tgroup-2.ddl
+ + ./tools/testfiles/tgroup-3.ddl
+ ./tools/testfiles/tgroup.ddl
+ ./tools/testfiles/tgroup.h5
+ + ./tools/testfiles/tslink-1.ddl
+ + ./tools/testfiles/tslink-2.ddl
+ ./tools/testfiles/tslink.ddl
+ ./tools/testfiles/tslink.h5
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5Gstab.c
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./test/istore.c
+ Implemented split ratios as documented in previous
+ e-mails. Frank, the new API functions are H5Pget_btree_ratios()
+ and H5Pset_btree_ratios().
+
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+ Added more type checking for the data transfer property list
+ passed to these functions.
+
+./src/H5D.c
+ Added a dataset transfer property list as an argument to
+ H5D_allocate() for the parallel version in order to pass split
+ ratios down to H5F_istore_lock(). Eventually we won't need
+ the split ratios for H5D_allocate() because we'll build a
+ completely full B-tree from the leaves up, but it might be
+ useful to have other transfer properties at that level
+ anyway. I always caled H5D_allocate() with &H5D_dflt_xfer.
+
+./MANIFEST
+./test/Makefile.in
+./test/overhead.c [NEW]
+ Added an `overhead' test run by `make timings'.
+
+
+Changes since 19980924
+----------------------
+
+./MANIFEST
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./test/Makefile.in
+./test/unlink.c
+ Finished H5Gunlink() and H5Grename().
+
+./src/H5F.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+ Removed the last memcpy() from the chunk cache.
+
+./src/H5Fistore.c
+ The offset of a chunk within a dataset is an 8-byte quantity
+ per dimension instead of 4 bytes.
+
+./src/H5HL.c
+ Fixed infinite loops in H5HL_remove().
+
+
+
+Changes since 19980922
+----------------------
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+./test/chunk.c
+./test/dsets.c
+ The number of slots in the raw data cache can be queried or
+ set with H5Pget/set_cache(), which now take an extra argument.
+ The default number of slots is 521 and the default maximum
+ size is 1MB.
+
+./src/H5Fistore.c
+./src/H5Fprivate.h
+ Finished optimizations. The cache is now a hash and a linked
+ list instead of an array. The cpu time on my machine for
+ H5F_istore_lock() has been cut by 60% and H5F_istore_unlock() by
+ 35%.
+
+Changes since 19980911
+----------------------
+
+This checkin is to fix a couple bugs for Jim Reus. Some features are
+not fully implemented but it shouldn't break anything.
+
+./config/conclude.in
+./test/Makefile.in
+ `make clean' removes object files from the test directory as
+ well as a couple more *.h5 temp files.
+
+./config/hpux9.03 [NEW]
+ New config file for HP/UX 9.03
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Fistore.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gstab.c
+ Not-yet-complete version of object removal.
+
+./src/H5Fistore.c
+./src/H5Fprivate.h
+ Experimental optimizations, disabled by default.
+
+./src/H5Fprivate.h
+ Default low-level driver was changed to H5F_LOW_SEC instead of
+ H5F_LOW_STDIO because the sec2 driver is much easier to debug.
+
+./src/H5Fsplit.c
+./src/H5G.c
+./src/H5Z.c
+ Changed a couple return statements to HRETURN.
+
+./src/H5Odtype.c
+ Removed a check for nested compound data types from back when
+ they weren't implemented that raised an error.
+
+./tools/h5tools.c
+ Increased temp buffer sizes and added a check for buffer
+ overflow so we fail an assertion (hopefully). This really
+ needs to be fixed sometime.
+
+ Added support for printing H5T_STRING data types.
+
+
+
+Changes since 19980910
+----------------------
+
+./MANIFEST
+ Removed duplicate Ragged.html
+
+./doc/src/Glossary.html
+ Changed 1.0 to 1.2 since 1.0 is the current development
+ branch, 1.1 will be development after beta release, and 1.2
+ will be the first complete release (see Version.html).
+
+./test/dsets.c
+./test/tstab.c
+ Added more tests.
+
+Changes since 19980909
+----------------------
+
+./tools/h5ls.c
+ Changed usage message.
+
+Changes since 19980908
+----------------------
+
+./MANIFEST
+ Removed ./doc/html/H5.api.html
+
+./bin/h5vers
+./bin/release
+ Fixed some minor things to make them work better.
+
+Changes since 19980908
+----------------------
+
+./COPYING
+ Reformatted as text instead of C. Removed zlib crew from the
+ list of contributors since no zlib code is actually in the
+ hdf5 library.
+
+./INSTALL
+./INSTALL.ascired
+./MANIFEST
+ Minor updates for Beta release including version number
+ change.
+
+./INSTALL_MAINT
+ Added information about making a release.
+
+./RELEASE
+ Updated function list based on public header files.
+
+./bin/checkposix
+ Got rid of complaints about some obvious things.
+
+./doc/html/H5.api.html
+./doc/html/RM_H5F.html
+./src/H5F.c
+./src/H5Fpublic.h
+./test/tfile.c
+ Changed H5Fget_create_template() and H5Fget_access_template()
+ to H5Fget_create_plist() and H5Fget_access_plist() since that
+ conforms better to lots of other names.
+
+./doc/html/Datatypes.html
+./doc/html/ExternalFiles.html
+./doc/html/Files.html
+./doc/html/H5.api.html
+./doc/html/H5.sample_code.html
+./doc/html/RM_H5F.html
+./doc/html/RM_H5Front.html
+ Changed `template' to `property list', etc.
+
+./doc/html/Ragged.html [NEW]
+ Documentation for ragged arrays.
+
+./src/H5Iprivate.h
+./src/H5Ipublic.h
+./src/H5I.c
+ Changed the scope of some symbols to be more local.
+
+./src/H5.c
+./src/H5AC.c
+./src/H5D.c
+./src/H5E.c
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5I.c
+./src/H5O.c
+./src/H5Ocomp.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Omtime.c
+./src/H5Oname.c
+./src/H5P.c
+./src/H5S.c
+./src/H5Shyper.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+./src/H5V.c
+./src/H5Z.c
+./src/H5private.h
+ Fixed some violations of our naming scheme by adding HD to the
+ beginning of all Posix functions.
+
+
+Changes since 19980904
+----------------------
+
+./MANIFEST
+./bin/release
+./bin/snapshot
+ The format of the MANIFEST file has been relaxed -- comments
+ and blank lines should no longer confuse the tools that use
+ it.
+
+ As before, this file should contain a list of *all* files that
+ are part of HDF5, which means all files which are managed by
+ CVS/SVF. However, files can be marked so they're not part of
+ a release by adding _DO_NOT_DISTRIBUTE_ after the file name.
+
+ I've removed all the *.obj files from the distribution by
+ adding _DO_NOT_DISTRIBUTE_ after their names. I also removed
+ the old white-papers that might not apply to the current
+ version of the library and documentation about chunking
+ performance since it's wrong now that chunk caching is
+ implemented. Everyone please check the files you're
+ responsible for to make sure that they should really be part
+ of a release.
+
+ To get a list of all files use
+ grep '^\.' MANIFEST | cut -f1
+
+ To get a list of files for distribution use:
+ grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_
+
+ (These commands assume tabs in the MANIFEST file. If the file
+ might contain spaces then run it through `unexpand' or `tr'
+ first).
+
+./configure.in
+./configure
+./src/H5config.h.in
+./test/ragged.c
+ Check for sigaction().
+
+./test/Makefile.in
+ The `clean' target removes the timing tests.
+
+./bin/checkposix
+ Got rid of complaints about some obvious things.
+
+./doc/html/H5.api.html
+./doc/html/RM_H5F.html
+./src/H5F.c
+./src/H5Fpublic.h
+./test/tfile.c
+ Changed H5Fget_create_template() and H5Fget_access_template()
+ to H5Fget_create_plist() and H5Fget_access_plist() since that
+ conforms better to lots of other names.
+
+./src/H5Iprivate.h
+./src/H5Ipublic.h
+./src/H5I.c
+ Changed the scope of some symbols to be more local.
+
+./src/H5.c
+./src/H5AC.c
+./src/H5D.c
+./src/H5E.c
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5I.c
+./src/H5O.c
+./src/H5Ocomp.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Omtime.c
+./src/H5Oname.c
+./src/H5P.c
+./src/H5S.c
+./src/H5Shyper.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+./src/H5V.c
+./src/H5Z.c
+./src/H5private.h
+ Fixed some violations of our naming scheme by adding HD to the
+ beginning of all Posix functions.
+
+Changes since 19980901
+----------------------
+
+./test/dtypes.c
+ Got rid of one of some of the `increases alignment' warnings.
+
+./test/tselect.c
+ Got rid of an unused variable.
+
+Changes since 19980931
+----------------------
+
+./test/cmpd_dset.c
+ Uncommented the last test again and there are still bugs.
+
+Changes since 19980831
+----------------------
+
+./Makefile.in
+ Running `make distclean' will not fail if one of the
+ subdirectories has already been cleaned.
+
+./config/BlankForm
+./config/irix5.3
+ Cleaned it up more. Added better support/documentation for
+ systems that have more than one compiler.
+
+./config/alpha-dec-osf4.0 [NEW]
+ Added a new config file as a result of testing on Jim Reus's
+ machine.
+
+./test/chunk.c
+ Scaled down the testing range so we can actually run it
+ interactively.
+
+./tools/h5import.c
+ Included <unistd.h> to get rid of warning for close().
+
+./src/H5detect.c
+ Seg-faults on Linux for some reason when NDEBUG is defined, so
+ I just undef it at the top of the source.
+
+./test/big.c
+ Added a fflush().
+
+./tools/h5ls.c
+ The `-d' flag now works even when `-v' isn't specified.
+
+./examples/h5_chunk_read.c
+./examples/h5_compound.c
+./examples/h5_extend_write.c
+./examples/h5_group.c
+./examples/h5_read.c
+./examples/h5_write.c
+ Indented according to hdf5 standards.
+
+ Fixed compiler warnings
+
+
+Changes since 19980828
+----------------------
+
+./RELEASE
+ Updated with important changes I made since the second beta.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5G.c
+./src/H5Gprivate.h
+./src/H5R.c
+./src/H5Rprivate.h
+./src/H5T.c
+./src/H5Tprivate.h
+ Any API function that used to take an `hid_t loc_id' followed
+ by a `const char *name' can now take any type of object for
+ the loc_id as long as the object is somehow associated with a
+ file. Internally, H5G_loc() was modified to return an
+ H5G_entry_t* instead of an H5G_t* so it's more general.
+
+ Among other things, this allows one to retrieve information
+ about an object like a named type or dataset without knowing
+ the name of the type or dataset:
+
+ int
+ get_nlinks (hid_t obj)
+ {
+ H5G_stat_t sb;
+ if (H5Gstat(obj, ".", TRUE, &sb)<0) return -1;
+ return sb.nlink;
+ }
+
+./test/gheap.c
+./test/istore.c
+ These files needed a couple of changes because they call some
+ of the internal functions whose H5G_t arguments changed to
+ H5G_entry_t.
+
+./src/H5A.c
+ Got rid of all the switch statements for getting symbol table
+ entries for varous objects and replaced them with a call to
+ H5G_loc() allowing attributes to automatically apply to any
+ type of object that belongs to a file.
+
+./test/Makefile.in
+ Moved the ragged array tests from the normal list of tests to
+ the `make timings' target.
+
+./test/ragged.c
+ Added rewrite tests -- rewrite the rows of a dataset changing
+ the number of rows and the length of each row.
+
+./test/mtime.c
+ Added a test that checks that H5Gstat() can be called with a
+ dataset as the first argument.
+
+./src/H5S.c
+ Added #ifdef HAVE_PARALLEL around code to check for the
+ HDF5_MPI_OPT_TYPES environment variable because the global
+ variable that gets set is #ifdef'd.
+
+./bin/release
+ bzip2 uses .bz2 as the file extension.
+
+
+Changes since 19980827
+----------------------
+
+./src/H5G.c
+ Fixed a link count on groups. Groups were always created with
+ a link count of zero instead of one.
+
+./src/H5Gpublic.h
+ Added H5G_NTYPES so applications can easily declare arrays
+ which are indexed by object type.
+
+./src/H5O.c
+ Calling `H5O_link(&ent,0)' will succeed when the file is open
+ for read only because it's the only way to get the object's
+ current link count.
+
+./tools/h5ls.c
+ Can take non-group object names on the command line (and
+ multiple objects). Reorganized to be more extendible. The
+ link count is displayed for `-v'.
+
+./src/H5F.c
+ Dumping of cache statistics is controlled by only the
+ HDF5_DEBUG environment variable and not the H5F_ACC_DEBUG flag
+ for H5Fopen() and H5Fcreate() since this makes it similar to
+ the other debugging options.
+
+./src/H5R.c
+./test/ragged.c
+./test/Makefile.in
+ Tests pass but still a little work left to be done.
+
+
+Changes since 19980825
+----------------------
+
+./MANIFEST
+./src/H5R.c [NEW]
+./src/H5Rprivate.h [NEW]
+./src/H5Rpublic.h [NEW]
+./src/Makefile.in
+./src/hdf5.h
+./test/ragged.c [NEW]
+ Preliminary support for 2d ragged arrays for Mark Miller and
+ Jim Reus. Not fully implemented yet. The test is not actually
+ part of `make test' because we still have some memory problems.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added H5E_RAGGED as a major error number.
+
+./bin/release
+ Checks the MANIFEST file against `svf ls' on systems that have
+ it.
+
+./bin/trace
+ Fixed a bug that caused arguments of type `void *x[]' to not
+ be handled.
+
+./src/H5.c
+ Removed unused variables and changed a couple types to
+ fix compiler warnings.
+
+ Added tracing support for ragged array object ID's and arrays
+ of pointers.
+
+./src/H5D.c
+ H5Dcreate() will complain if either of the property lists are
+ invalid (instead of using the default).
+
+./src/H5D.c
+./src/H5Dprivate.h
+ Split H5Dget_space() into an API and internal function so it
+ can be called from the new ragged array layer.
+
+./src/H5Fistore.c
+ Fixed warnings about unsigned vs. signed comparisons.
+
+./src/H5Flow.c
+ Fixed a warning about a variable being shadowed in the MPI-IO
+ stuff.
+
+./src/H5Iprivate.h
+./src/H5Ipublic.h
+ Added the H5_RAGGED atom group.
+
+./src/H5Shyper.c
+ Fixed some freeing-free-memory errors that resulted when
+ certain arrays were freed but the pointers were left in the
+ data structures. I simply set the pointers to null after they
+ were freed.
+
+./src/H5Sprivate.h
+./src/H5Sselect.c
+ Split the H5Sselect_hyperslab() function into an API and a
+ private function so it could be called from the ragged array
+ layer.
+
+ Added H5S_SEL_ERROR and H5S_SEL_N to the switch statements to
+ get rid or compiler warnings.
+
+./src/H5Tconv.c
+ Removed a misleading comment.
+
+./test/bittests.c
+ Fixed a warning about a printf().
+
+./test/cmpd_dset.c
+ Fixed warnings about unused variables because of test #11
+ being commented out.
+
+./bin/trace
+ Shortened the right margin for the output to allow room for
+ the `);' at the end of the TRACE() macros.
+
+Changes since 19980824
+----------------------
+
+ Undocumented changes while at Livermore.
+
+Changes since 19980818
+----------------------
+
+./src/H5.c
+ Fixed an argument promotion bug in HDfprintf()
+
+./src/H5Fistore.c
+ Fixed a array bounds read error.
+
+./src/H5HG.c
+ Fixed uninitialized (but unused) data appearing in the hdf5
+ file, a potential security problem.
+
+./src/H5T.c
+./src/H5Tpublic.h
+ Added new data types for hdf5 types: H5T_NATIVE_HSIZE,
+ H5T_NATIVE_HSSIZE, H5T_NATIVE_HERR, and H5T_NATIVE_HBOOL. I
+ did not add H5T_NATIVE_HID since I couldn't think of a reason
+ that it would be stored in a file anyway.
+
+Changes since 19980814
+----------------------
+
+./src/H5Fistore.c
+ Fixed a bug that caused the wrong number of chunk offsets to
+ be read or written from the file.
+
+./src/H5Z.c
+ Fixed a memory bug.
+
+./test/dtypes.c
+ Removed redundant tests.
+
+./bin/snapshot
+ Removed Perl code from a shell script. Oops :-)
+
+./src/H5D.c
+ Removed cvs merge conflicts.
+
+./src/H5Omtime.c
+ Fixed a typo in the Irix5.3 code.
+
+./src/H5S.c
+ Fixed a memory leak.
+
+./src/H5Shyper.c
+ Fixed a bad call to malloc() that didn't allocate enough
+ memory. Reordered a comparison to eliminate an array bounds
+ read error.
+
+Changes since 19980813
+----------------------
+
+./src/H5G.c
+./src/H5Gpublic.h
+./test/links.c
+ Fixed a bug in H5Gstat() that caused the wrong information to
+ be returned sometimes. Added check for named data types.
+
+./test/extend.c
+./test/links.c
+./test/mtime.c
+ Added `all tests passed' messages.
+
+Changes since 19980810
+----------------------
+
+./MANIFEST
+./src/H5Ssimp.c [REMOVED]
+./src/Makefile.in
+ Removed H5Ssimp.c since it was no longer used.
+
+./bin/snapshot
+ Fixed a few minor things to make it work better.
+
+./src/H5D.c
+ Cleaned up H5D_read() and H5D_write() by combining some code
+ in each. Added timing calls around the data space calls when
+ H5S_DEBUG is defined.
+
+./src/H5S.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+ Changed H5S_find() so it returns a table entry again instead
+ of copying the data into a caller-supplied buffer. This
+ allows the timers to be stored in the table and updated by the
+ caller. Added H5S_register() to register new table entries
+ and added entry creation to all the H5S selection
+ methods. Also changed lots of global functions to static
+ functions.
+
+./src/H5Fistore.c
+ Fixed a memory bug in the raw data cache.
+
+Changes since 19980806
+----------------------
+
+./doc/html/Datatypes.html
+./doc/html/H5.format.html
+./src/H5.c
+./src/H5Odtype.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./test/dtypes.c
+ Changed the values of the H5T_str_t type in order to make a
+ distinction between C's null terminated strings and strings
+ which are not null terminated.
+
+ The string character set and padding method are saved to the
+ hdf5 file instead of using defaults.
+
+ Added conversion function from one fixed-length string type
+ to another.
+
+./test/chunk.c
+ Fixed to work with new filter API
+
+./bin/snapshot
+ Better `diff' of two releases.
+
+ Skip release if `make _test' fails.
+
+Changes since 19980806
+----------------------
+
+./config/solaris2.5
+ Hopefully set up now so it honors the CC and CFLAGS variables
+ and understands solaris cc flags.
+
+./test/big.c
+ Checks to see if creating lots of large sparse files exceeds
+ the user disk quota and skips the test. It also checks that
+ we can actually open ~64 files at once.
+
+./doc/html/Files.html
+./src/H5A.c
+./src/H5Aprivate.h
+./src/H5F.c
+./src/H5Fpublic.h
+ Added the H5Fflush() function which takes any object as an
+ argument as long as the object is in some way associated with
+ a file. This required an H5A_entof()
+
+./src/H5.c
+./src/H5Flow.c
+ The `%a' format of HDfprintf() now allows a field width and
+ justification flag etc, like the other formats. The old
+ H5F_addr_print() was recoded to call HDfprintf() instead of
+ vice versa.
+
+
+
+Changes since 19980805
+----------------------
+
+./MANIFEST
+ Replaced Compression.html with Filters.html
+
+./doc/html/Filters.html
+./src/H5Ocomp.c
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Z.c
+./src/H5Zprivate.h
+ Added two extra arguments to H5Pget_filter() in order to
+ retrieve the filter name. The name is the name registered for
+ the filter with H5Zregister(), but if the dataset creation
+ property originally came from an existing file then the name
+ is that which is stored in the file.
+
+./tools/h5ls.c
+ The `-v' option now prints the names of the filters.
+
+./src/H5B.c
+./src/H5Fistore.c
+./src/H5O.c
+./src/H5Oefl.c
+./src/H5Oprivate.h
+./src/H5P.c
+ Plugged a memory leak.
+
+./src/H5MMprivate.h
+ H5MM_malloc(0) and H5MM_calloc(0) actually allocate a single
+ byte in order to be sure that we get a valid pointer.
+
+./src/H5S.c
+./src/H5Sselect.c
+ Fixed pointer->integer conversions in error return values in
+ three places.
+
+Changes since 19980731
+----------------------
+
+./bin/release
+ Added ./Makefile to the distribution again -- it got lost in
+ the changes last week although it isn't all that important a
+ file since it gets clobbered by configure anyway.
+
+./bin/trace
+./doc/html/Filters.html
+./doc/html/H5.format.html
+./doc/html/H5.user.html
+./src/H5.c
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5O.c
+./src/H5Ocomp.c
+./src/H5Oprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+./src/H5Z.c
+./src/H5Zprivate.h
+./src/H5Zpublic.h
+./src/hdf5.h
+./test/dsets.c
+./tools/h5ls.c
+ Added the data filter pipeline, a generalization of the
+ compression stuff which allows things like checksums,
+ encryption, compression, performance monitoring, etc. See
+ ./doc/html/Filters.html for details -- it replaces the
+ Compression.html doc.
+
+./src/H5T.c
+ Cleaned up debugging output.
+
+./config/linux
+ Added checks for egcs and pgcc and changed optimization flags
+ for the compilers.
+
+./src/H5G.c
+./tools/h5dump.c
+ Fixed compiler warnings in these files and others.
+
+./configure.in
+./src/H5private.h
+./test/mtime.c
+ Added a check for difftime() and defined HDdifftime() to do
+ something else on systems that don't have difftime().
+
+Changes since 19980730
+----------------------
+
+./bin/release
+ Simplified greatly. When run from the top of the hdf5 source
+ tree with no arguments a new tar file is created in the
+ `releases' directory. When given one or more of the words
+ `tar', `compress', `gzip', or `bzip2' each type of archive is
+ created. The name of the releases directory can be changed
+ with the `-d DIR' switch.
+
+./bin/h5vers
+ Fixed a bug that caused `h5vers -i' to fail with a usage
+ message. The new behavior is the same as `h5vers -i release'
+ which increments the release number.
+
+./bin/snapshot
+ A shell script intended to be run nightly from cron which
+ compares the current version of hdf5 against the previous
+ version. If there are differences it creates a tar file in an
+ ftp directory, increments the hdf5 release number, and commits
+ the changes back into the cvs repository. The name of the ftp
+ directory in which to place the release can be given on the
+ command line (default /hdf3/ftp/pub/outgoing/hdf5/snapshots).
+ The CVSROOT environment variable must be set.
+
+
+Changes since 19980729
+----------------------
+
+./MANIFEST
+./test/Makefile.in
+./test/mtime.c [NEW]
+ Test for the modification time message.
+
+./src/H5AC.c
+./src/H5Fistore.c
+ Turned off printing of statistics on H5close() if H5AC_DEBUG
+ isn't defined.
+
+Changes since 19980724
+----------------------
+
+./MANIFEST
+./doc/html/H5.format.html
+./src/H5O.c
+./src/H5Oprivate.h
+./src/H5Omtime.c [NEW]
+./src/H5private.h
+./src/Makefile.in
+ Added the modification time message. If an object header has
+ this message then it's value is updated with the current time
+ whenever anything changes in the object header.
+
+./acconfig.h
+./configure.in
+ Alas, there seems to be no standard way to convert a string
+ time like 19980727122800 in UTC to a time_t since mktime()
+ only converts local times to time_t. So I've modified the
+ configuration to check for various ways of getting the time
+ zone information:
+
+ * Added checks for the `tm_gmtoff' field of `struct tm'.
+ * Added a check for the `timezone' global variable.
+ * Added a check for `struct timezone'.
+ * Added a check for BSDgettimeofday().
+ * Added a check for gettimeofday() although it doesn't
+ actually set the timezone argument on some systems.
+ * Added a check to see if `tm_zone' is a member of `struct tm'.
+ * Added a check to see if `tzname' is a global variable.
+ * Added a check to see if `struct tm' is defined in time.h
+ or sys/time.h.
+
+ It's not difficult to get the right UTC modification message
+ into the object header, but some systems might have problems
+ getting the right time back out (Irix64 is one) and those
+ systems will report zero for the H5G_stat_t.mtime from an
+ H5Gstat() call as if the mtime message isn't even present. It
+ will, however, continue to be updated as normal.
+
+./src/H5G.c
+./src/H5Gpublic.h
+ The H5G_stat_t struct now contains an `mtime' field which will
+ hold the object modification time. If the object has no
+ object modification time then the `mtime' will be initialized
+ to zero.
+
+ Fixed a bug in H5G_stat() that caused the `objno' field of the
+ H5G_stat_t to be set incorrectly on some machines.
+
+./src/H5D.c
+ Writing to external datasets fail if the hdf5 file is not open
+ for writing.
+
+ A modification time message is added to the dataset object
+ header when it's created and H5O_touch() is called from
+ H5D_write() to update that message.
+
+./src/H5T.c
+ Fixed a bug in H5Tget_member_dims() that caused a segmentation
+ fault if one of the output array arguments was the null
+ pointer.
+
+ Relaxed the member dimension checking in H5Tinsert_array() so
+ it can also be used for scalar members.
+
+./test/Makefile.in
+ Added additional file names to the `mostlyclean' target.
+
+./tools/h5dump.c
+./tools/h5tools.h
+ Increased the temporary buffer size to 1MB.
+
+ Added support for printing compound data types with array
+ members.
+
+ When printing H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR we escape
+ double quote characters.
+
+./tools/h5ls.c
+ Changed the output format a little because we were starting to
+ get too much info to fit on a line. Without `--verbose' each
+ object occupies one line of output. Otherwise, additional
+ information is printed below the object name: object file
+ address, comment, and modification time. If `--dump' is given
+ then the data is printed after the other information.
+
+./test/cmpd_dset.c
+ Changed the way the dataset is initialized to be more uniform.
+
+Changes since 19980723
+----------------------
+
+./tools/h5dump.c
+./tools/h5ls.c
+./tools/h5tools.h
+ Able to handle compound data types now. Moved code that
+ chooses memory data type based on file data type from h5ls to
+ libh5tools.a(h5dump.o)
+
+Changes since 19980722
+----------------------
+
+./src/H5A.c
+./src/H5Apublic.h
+./test/tattr.c
+ Switched the order of the second and third argument of
+ H5Aget_name() to make it consistent with other functions that
+ take buffers and buffer sizes.
+
+./src/H5G.c
+./src/H5Gpublic.h
+./src/H5Gprivate.h
+ The H5Gget_comment() function returns the size of the comment
+ including the null terminator. If the object has no comment
+ then zero is returned. If an error occurs then a negative
+ value is returned.
+
+./MANIFEST
+./tools/Makefile.in
+./tools/h5tools.h [NEW]
+./tools/h5dump.c [NEW]
+ Created a library for printing values of datasets in a way
+ that looks nice. It's not done yet, but I needed it for
+ debugging the contents of files from Jim Reus.
+
+./tools/h5ls.c
+ Added the `-d' and `--dump' options which cause the contents
+ of a dataset to be printed. Added `-w N' and `--width=N'
+ options to control how wide the raw data output should be. If
+ you want single-column output then say `-w1'.
+
+ Printing dataset values can now handle datasets of any integer
+ or floating point atomic type. As a special case, integers
+ which are one byte wide are treated a character strings for
+ now.
+
+ Sample output:
+ $ h5ls --dump --width=60 banana.hdf
+ ARCHIVE 0:0:0:744 Dataset {52/Inf}
+ Data:
+ (0) "U struct complex { double R; double I; };\012V"
+ (43) " double;\012"
+ U 0:0:0:2500 Dataset {256/512}
+ Data: printing of compound data types is not implemented yet
+ V 0:0:0:3928 Dataset {256/512}
+ Data:
+ (0) 0, 0.015625, 0.03125, 0.046875, 0.0625,
+ (5) 0.078125, 0.09375, 0.109375, 0.125, 0.140625,
+ (10) 0.15625, 0.171875, 0.1875, 0.203125, 0.21875,
+ (15) 0.234375, 0.25, 0.265625, 0.28125, 0.296875,
+ ...
+
+
+Changes since 19980722
+----------------------
+
+./src/H5.c
+ Handle hid_t of type H5_TEMPBUF, arguments usually called tbuf_id.
+
+ Added array tracing where the array rank is stored in a simple
+ data space. Just use the name of the data space argument when
+ declaring the array argument:
+
+ herr_t
+ H5Sselect_hyperslab (hid_t space_id, H5S_seloper_t op,
+ const hssize_t start[/*space_id*/],
+ const hsize_t _stride[/*space_id*/],
+ const hsize_t count[/*space_id*/],
+ const hsize_t _block[/*space_id*/])
+
+ and when the program runs you'll see array values printed:
+
+ H5Sselect_hyperslab(space=218103813, op=H5S_SELECT_SET,
+ start=0xbfffef4c {0}, _stride=NULL,
+ count=0xbfffef44 {64},
+ _block=NULL) = SUCCEED;
+
+ Added more symbolic data types to the tracing output.
+
+./src/H5A.c
+./src/H5Apublic.h
+./src/H5D.c
+./src/H5Dpublic.h
+./src/H5F.c
+./src/H5Fpublic.h
+./src/H5G.c
+./src/H5Gpublic.h
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5S.c
+./src/H5Sall.c
+./src/H5Shyper.c
+./src/H5Spoint.c
+./src/H5Spublic.h
+./src/H5Sselect.c
+./src/H5Ssimp.c
+./src/H5TB.c
+./src/H5V.c
+ Changed some API argument names to be more consistent with
+ other API functions and to produce better tracing output.
+ Reformatted some long lines. Indented printf statements.
+
+./tools/h5ls.c
+ Fixed warnings about unsigned vs. signed comparisons.
+
+Changes since 19980721
+----------------------
+
+./tools/h5ls.c
+ If the dataset is of type H5T_NATIVE_CHAR then we print the
+ value as a string. This is temporary -- I plan to add better
+ control of this later but needed something now for debugging.
+
+./src/H5Fistore.c
+ Squashed a bug in the chunk caching code that caused the wrong
+ chunk to be returned.
+
+./bin/trace
+./src/H5.c
+ Added support for printing values of array arguments when the
+ size of the array is supplied by some previous argument. You
+ must declare the argument as an array in order for the
+ automatic tracing stuff to work. For instance, the third
+ argument of H5Pset_chunk() is an array whose size is
+ determined by the second argument `ndims'. Here's how you
+ should declare it:
+
+ herr_t
+ H5Pset_chunk(hid_t plist_id, intn rank, hsize_t dims[/*rank*/])
+
+ The comment inside the `[]' is the name of some previous
+ integer argument (int, unsigned, size_t, ssize_t, hsize_t,
+ hssize_t). The trace output will look something like:
+
+ H5Pset_chunk(plist=1234567, rank=2, dims=0x112233 {11, 22})
+
+ Changed tracing so that data types are printed out
+ symbolically when possible.
+
+ Changed tracing so data type initializations are not printed.
+ This used to be confusing because lots of H5Tcopy() and
+ H5Tregister...() calls showed up before the applications first
+ explicit API call.
+
+./src/H5Ipublic.h
+ Changed the file atom group from zero to one so printing of
+ atoms during tracing is more consistent -- they're all big
+ numbers now.
+
+./src/H5A.c
+./src/H5E.c
+./src/H5F.c
+./src/H5G.c
+./src/H5Sselect.c
+./src/H5T.c
+./src/H5TB.c
+./src/H5Z.c
+ Accidently modified these when working on the tracing, but
+ nothing should have changed.
+
+./src/H5P.c
+ Changed the definition of H5Pset_chunk() for tracing.
+
+./src/H5S.c
+./src/H5Spublic.h
+ Changed the definitions of H5Sset_extent_simple() and
+ H5Screate_simple() for tracing. Changed the FUNC_ENTER() name
+ for H5Screate_simple() so tracing shows the correct name.
+
+
+Changes since 19980720
+----------------------
+
+./test/dtypes.c
+ We try to detect whether floating point overflow generates a
+ SIGFPE and if it does we don't test overflow cases.
+
+./test/H5Sprivate.h
+./test/H5S.c
+./test/H5Oattr.c
+ Added an H5S_debug() which is called from H5O_attr_debug() and
+ which has a switch statement to handle the various data type
+ messages.
+
+Changes since 19980720
+----------------------
+
+./src/H5Gpublic.h
+./src/H5Gprivate.h
+./src/H5G.c
+./test/dsets.c
+./doc/html/Groups.html
+ Added the H5Gset_comment() and H5Gget_comment() functions
+ described in an earlier e-mail.
+
+./src/H5.c
+ Fixed a bug in the tracing code that caused certain data space
+ enum types to not be printed. Nested case statements can get
+ confusing to the eyes!
+
+./tools/h5ls.c
+ Prints the first 50 bytes or so of object comments.
+
+Changes since 19980720
+----------------------
+
+./doc/html/H5.format.html
+./src/H5Oattr.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Osdspace.c
+./src/H5Oshared.c
+ Added version numbers to some object header messages so we can
+ update them easier in the future. The library currently just
+ gives up if the version numbers don't match, but in the future
+ the library could handle multiple versions of a message.
+
+./test/testhdf5.c
+ Removed an argument from the H5version() call that I missed
+ last time.
+
+Changes since 19980720
+----------------------
+
+./bin/release
+ The archive names have only three parts to a version number.
+ Instead of `hdf5-1.2.3d.tar.gz' they will be named like
+ `hdf5-1.2.3.tar.gz'.
+
+./src/H5public.h
+./src/H5.c
+ Dropped the patch level from the version number. The version
+ number is now a major number, a minor number, and a release
+ number.
+
+./doc/html/Version.html
+ Updated to get rid of patch numbers.
+
+./tools/h5repart.c
+ Added a `-V' flag like for `h5ls' that prints the version number.
+
+Changes since 19980720
+----------------------
+
+./doc/html/H5.format.html
+./src/H5F.c
+./src/H5Gprivate.h
+./src/H5Oshared.c
+ Added file alignment fields: the boot block has an extra
+ reserved address field. The symbol table entry scratch pad
+ space was reduced from 24 bytes to 16 bytes. The index
+ permutation was moved earlier in the data type message for
+ compound data types and extra padding was added. Four bytes
+ of padding was added to the shared message format.
+
+Changes since 19980715
+----------------------
+
+./doc/html/H5.format.html
+./src/H5Gent.c
+./src/H5Gprivate.h
+./src/H5Oattr.c
+./src/H5Oprivate.h
+./src/H5Oshared.c
+./src/H5HG.c
+./src/H5HGprivate.h
+ Added padding fields in symbol table entries, attribute
+ messages, shared messages, and global heap objects to insure
+ that things are aligned on 8-byte boundaries in the file, and
+ thus in memory. Otherwise some little endian machines
+ complain (DEC Alpha) during encoding/decoding of file meta
+ data. I chose to add alignment to the file rather than
+ rewriting the ENCODE/DECODE macros for the little endian case.
+
+ Completely rewrote the section on attribute messages.
+
+ More alignment stuff will follow.
+
+./src/H5detect.c
+ Fixed a typo `nd'->`dn'
+
+./test/dtypes.c
+ Commented out conversion tests to/from `long double' on
+ machines where it's the same size as `double' to get rid of
+ compiler warnings.
+
+./doc/html/Big.html
+ Fixed a couple typos.
+
+Changes since 19980715
+----------------------
+
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsplit.c
+ Changed the allocation size request from `size_t' to `hsize_t'
+ because it was overflowing for the `big' test.
+
+./src/H5detect.c
+ If `long double' and `double' are the same size then we define
+ H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE.
+ Similarly for `long' vs. `long long' and `unsigned long' vs.
+ `unsigned long long'.
+
+./test/Makefile.in
+ Added `big' to the list of tests to normally run.
+
+./test/big.c
+ Added a check to see if the file system supports holes and if
+ it doesn't then the test is skipped.
+
+./RELEASE
+ Added a couple minor details details about API tracing and
+ symbolic links.
+
+./src/H5public.h
+ Added comments about the use of hbool_t. Fixed a comment
+ spelling error.
+
+./test/testhdf5.h
+ Changed the way the version number is printed. The old method
+ was `hdf5-1.2.3d' and the new method is `hdf5 version 1.2
+ release 3'
+
+./tools/h5ls.c
+ Only prints the max dimension if it differs from the current
+ dimension or if verbose mode is enabled. Added switches `-?',
+ `-h', and `--help' to print a usage message. Added switches
+ `-v' and `--verbose' to generate more verbose output. Added
+ switches `-V' and `--version' to print the version number and
+ exit. The version number is printed like: This is h5ls
+ version 1.0 release 24'
+
+./bin/h5vers [NEW]
+ This script prints, sets, and/or increments the hdf5 version
+ number. It can be run from the top directory or any of the
+ child directories like src, tools, test, etc. Some examples:
+
+ $ h5vers # Display current version
+ 1.0.24
+
+ $ h5vers -v
+ version 1.0 release 24 # Display current version.
+
+ $ h5vers -s 5.2.8 # Set version and display
+ 5.2.8
+
+ $ h5vers -s 2.1
+ 2.1.0
+
+ $ h5vers -s hdf5-1.0.24a.tar.bz2
+ 1.0.24
+
+ $ h5vers -s 'version 2.0 release 8'
+ 2.0.8
+
+ $ h5vers -s 'junk 22 junk 33 more junk 66 and 99 junk'
+ 33.66.99
+
+ $ h5vers -i major # Increment from 1.0.24
+ 2.0.0
+
+ $ h5vers -i minor # Increment from 1.0.24
+ 1.1.0
+
+ $ h5vers -i release # Increment from 1.0.24
+ 1.0.25
+
+ $ h5vers ~/hdf5/src/H5public.h # Use an alternate file
+ 1.0.24
+
+./bin/checkapi [NEW]
+ Run from the src directory with arguments H5[A-Z]*.c and it
+ will print the locations of each place where an API function
+ was called from within the library. Use it as the compile or
+ grep command under Emacs and you can C-x ` through the list.
+
+./bin/debug-ohdr [NEW]
+ Keeps track of H5O_open() and H5O_close() debugging messages
+ and lists the file addresses of the object headers that are
+ opened but never closed. You must enable the `o' debugging at
+ configuration time and pipe stderr into this script.
+
+./bin/errors
+ Added a note to indicate that this script no longer works
+ because of changes in the HRETURN_ERROR() and HGOTO_ERROR()
+ macros.
+
+./bin/iostats [NEW]
+ Watches output from the Linux strace program and accumulates
+ statistics about low-level access to an hdf5 file. The output
+ is a list of 2d data points which can be plotted by gnuplot to
+ show file seeking behavior.
+
+./MANIFEST
+ Added new files.
+
+Changes since 19980713
+----------------------
+
+./config/conclude.in
+ Fixed so `make test' and `make progs' work on a clean source tree.
+
+Changes since 19980710
+----------------------
+
+./Makefile.in
+./config/commence.in
+./config/conclude.in
+./config/depend.in
+./src/Makefile.in
+./test/Makefile.in
+ Tests are no longer installed for `make install'. Added a new
+ target `make tests' that builds the tests but doesn't run them.
+
+./configure.in
+./configure [REGENERATED]
+./src/H5config.h.in [REGENERATED]
+ Added detection of fork() and waitpid(). If present the
+ contants HAVE_FORK and HAVE_WAITPID will be defined in
+ H5config.h.
+
+./test/dtypes.c
+ Minor tweaks for systems that don't have fork() or waitpid().
+
+./MANIFEST
+./tools [NEW]
+./tools/Makefile.in [NEW]
+./tools/h5debug.c [NEW]
+./tools/h5import.c [NEW]
+./tools/h5ls.c [NEW]
+./tools/h5repart.c [NEW]
+ Added a tools directory and moved tools from the src directory
+ to here.
+
+
+Changes since 19980709
+----------------------
+
+./README
+./bin/release
+ The first line of the README file is updated automatically
+ by the `release' script to associate a date with a release
+ number. For example:
+
+ This is hdf5-1.0.9a released on 1998-06-09 18:00 UTC
+ Please refer to the INSTALL file for installation instructions.
+
+./src/H5public.h
+ Release number incremented. This happens automatically now if
+ you run the `release' script in `-batch' mode. I'll stop
+ documenting changes to this file unless they're something
+ other than a release number change.
+
+./MANIFEST
+ Added Elena's new files.
+
+
+Changes since 19980708
+----------------------
+
+./src/Makefile.in
+ Fixed missing H5Zpublic.h header file.
+
+./src/H5Fistore.c
+ Indented some printf's in the left margin so various C source
+ tools work correctly.
+
+Changes since 19980708
+----------------------
+
+./src/H5Fistore.c
+./src/H5S.c
+ Fixed places where `herr_t' functions returned NULL for
+ failure: H5F_istore_get_addr() and printf(?!?) (probably
+ because a printf() was in the first column :-/ so I don't know
+ what function it really was that I fixed), and H5S_extent_copy().
+
+./src/H5Fprivate.h
+ Added declarations for H5F_istore_get_addr() and
+ H5F_istore_allocate().
+
+./src/H5S.c
+./src/H5Sprivate.h
+ Split H5Sset_extent_simple() into H5S_set_extent_simple() and
+ replaced calls to the API function with calls to the internal
+ function.
+
+ Changed calls to H5Screate() to H5S_create() and H5Sclose() to
+ H5S_close().
+
+./src/H5Shyper.c
+./src/H5Spoint.c
+ Removed unused labels and variable.
+
+./src/H5T.c
+./src/H5Tconv.c
+ Changed calls to H5Tfind() to H5T_find().
+
+./src/H5TB.c
+ Split function return type onto a separate line for five
+ functions and added API tracing calls.
+
+
+Changes since 19980708
+----------------------
+
+./MANIFEST
+ Alphabetized. `d' comes before `e' :-)
+
+./bin/release
+ Added the `-batch' option which causes the script to not ask
+ questions and to automatically update the minor version
+ number and set the patch level back to `a'. This is intended
+ to be used for the daily snapshots:
+
+ #! /bin/sh
+ set -e
+ cd ~/hdf5
+ make distclean
+ make test
+ bin/release -batch tar compress gzip bzip2
+ mv ./releases/* /repository
+
+./src/H5Z.c
+ Removed warnings about unused variables when the zlib.h header
+ file is present but libz.a isn't.
+
+./INSTALL
+./configure.in
+./doc/html/tracing.html
+ Made API tracing the default (you still need to define the
+ HDF5_TRACE environment variable to get results) and change the
+ name from `--disable-tracing' to `--disable-trace' to make it
+ consistent with the other switches.
+
+ Changed `site config file' to `host config file' to match the
+ documentation.
+
+./doc/html/H5.user.html
+ Added a reference to the `tracing.html' file.
+
+Changes since 19980707
+----------------------
+
+./bin/trace
+./src/H5.c
+ Added tracing support for H5S_seloper_t and H5S_class_t.
+
+./src/H5Sselect.c
+./src/H5S.c
+ Added tracing statements that weren't inserted previously
+ because of formatting problems.
+
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./test/cmpd_dset.c
+ Added H5Tinsert_array() for inserting an array member into a
+ compound data type. Added support to the struct conversion
+ function for member arrays. The index permutation is not
+ supported yet in the conversion (source and destination must
+ have the same permutations).
+
+Changes since 19980707
+----------------------
+
+./bin/trace
+./src/H5.c
+./src/H5private.h
+./src/H5A.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5S.c
+./src/H5T.c
+ Output-only arguments have their addresses printed during
+ tracing and added symbolic output for the H5F_driver_t
+ arguments. That's another reason that we should be careful to
+ add `/*out*/' after arguments that are output-only and
+ `/*in,out*/' after arguments that are used for both input and
+ output values.
+
+ No internal function calls H5Pget_class() anymore.
+
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+ Added H5Tget_overflow() and H5Tset_overflow() so the
+ application can query or set a function that will be called
+ whenever an overflow occurs. Implemented as documented in
+ previous e-mail except the overflow handler gets two buffers:
+ one that contains the source value and one to receive the
+ optional destination value.
+
+./test/dtypes.c
+ Tests overflow handler.
+
+./src/H5.c
+ We have to declare fdopen() because I'm getting errors when
+ compiling on Irix64 even though we include <stdio.h> as
+ documented in the fdopen() man page.
+
+Changes since 19980706
+----------------------
+
+./src/H5public.h
+ If sizeof(size_t)==sizeof(long long) then we define `hsize_t'
+ in terms of size_t to get rid of warnings on systems that
+ treat `long long' the same as `long'.
+
+Changes since 19980702
+----------------------
+
+./src/H5T.c
+ Prints statistics for no-op conversions also.
+
+ For now, hardware floating point conversions may or may not
+ raise SIGFPE depending on the hardware, operating system,
+ etc. Software conversions never raise SIGFPE and use +Inf or
+ -Inf for overflow.
+
+./test/dtypes.c
+ Catches SIGFPE and causes the test to be skipped. Better test
+ for NaN.
+
+./config/irix5.3
+ Removed the -U_POSIX_SOURCE because it was removed from the
+ main makefiles.
+
+./bin/trace
+./src/H5S.c
+ Fixed a typo that prevented tracing info from being added to
+ new API functions.
+
+Changes since 19980702
+----------------------
+
+./MANIFEST
+ Added new files from testpar directory.
+
+./config/commence.in
+ Removed -D_POSIX_SOURCE because hdf5 uses a couple of
+ non-Posix things when certain debugging flags are switched on.
+
+
+Changes since 19980630
+----------------------
+
+./MANIFEST
+./configure.in
+./examples/Makefile.in [NEW]
+ Added a Makefile.in for the examples directory. To generate
+ the Makefile run configure again.
+
+
+Changes since 19980612
+----------------------
+
+./src/H5Tbit.c
+./src/H5Tpkg.h
+ Fixed a bug in H5T_bit_copy(). Added H5T_bit_get_d() and
+ H5T_bit_set_d() which treat portions of a bit vector as an
+ unsigned integer. Added H5T_bit_inc() that increments part of
+ a bit vector and returns an indication of overflow.
+
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./test/dtypes.c
+ Added a slow general floating point conversion which works so
+ far on Intel, MIPS, and DEC but the test is turned off because
+ a cast from double to float will cause a SIGFPE on some
+ systems if an overflow occurs.
+
+ Added fast hardware conversions between native floating point
+ types. This function is also subject to the SIGFPE problem.
+
+./src/H5detect.c
+ Removed the exponent bias adjustment when the significand
+ isn't normalized. This is now handled in the conversion
+ functions instead.
+
+./src/H5T.c
+ Register new conversion functions.
+
+ Plugged a memory leak in the library termination code.
+
+./RELEASE
+ Added a list of major changes since the first alpha.
+
+./src/H5.c
+./src/H5private.h
+./src/H5A.c
+./src/H5AC.c
+./src/H5D.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5G.c
+./src/H5Gprivate.h
+./src/H5HG.c
+./src/H5O.c
+./src/H5T.c
+./src/H5Tbit.c
+./src/H5Tconv.c
+ Fixed various compiler warnings on Irix64.
+
+./src/H5MM.c
+ Added PABLO_MASK to this file.
+
+./test/chunk.c
+ Removed a warning about memcpy().
+
+
+Changes since 19980618
+----------------------
+
+./INSTALL
+./INSTALL_MAINT
+./README
+./RELEASE
+ Partially updated for second alpha, but haven't updated
+ version numbers yet.
+
+./src/H5.c
+./src/H5A.c
+./src/H5AC.c
+./src/H5B.c
+./src/H5D.c
+./src/H5F.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Fmpio.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5I.c
+./src/H5MM.c
+./src/H5MMprivate.h
+./src/H5O.c
+./src/H5Oattr.c
+./src/H5Ocomp.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5P.c
+./src/H5S.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5detect.c
+./test/hyperslab.c
+./test/istore.c
+ Changed memory allocation functions so they fail instead of
+ dumping core. The `x' was removed from the name to remind us
+ of that: H5MM_xmalloc() -> H5MM_malloc(), etc.
+
+ H5MM_calloc() takes one argument like H5MM_malloc() instead of
+ two like calloc() because we almost always called it with `1'
+ for one of the arguments anyway. The only difference between
+ the two functions is that H5MM_calloc() returns memory which
+ is initialized to zero.
+
+./src/H5Gent.c
+./src/H5Gprivate.h
+ Removed H5G_ent_calloc() since it wasn't used.
+
+./src/H5Fistore.c
+ Fixed a bug found by Albert. Thanks, Albert! This fix
+ combined with the changes to memory allocation prevent the
+ library from failing an assertion if the application uses an
+ unreasonable size for chunks (like Alberts 10000x10000x4).
+
+./src/H5MF.c
+./src/H5MFprivate.h
+ Changed H5MF_free() to H5MF_xfree() since calling it with an
+ undefined address is allowed.
+
+
+Changes since 19980617
+----------------------
+
+./html/Datatypes.html
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5detect.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/external.c
+./test/tattr.c
+./test/th5s.c
+ Organized the predefined data types.
+
+./html/H5.intro.html
+ NO MODIFICATIONS! This file is a mess (obviously generated
+ from something else) so I skipped updating it!
+
+./src/h5ls.c
+./test/dsets.c
+./test/tattr.c
+./test/th5s.c
+ Added extra argument to H5Sget_dims() calls per Albert's last
+ update.
+
+Changes since 19980617
+----------------------
+
+./src/H5T.c
+ Fixed a potential division by zero error.
+
+./src/H5Fistore.c
+ Fixed an assertion failure that I accidently introduced with
+ the previous changes.
+
+Changes since 19980616
+----------------------
+
+./html/tracing.html NEW
+ This entire update is to make it possible for the library to
+ print the name, arguments, and return value of every API call
+ without requiring any extra work from developers or app
+ programmers. This file describes how this all works.
+
+./configure.in
+ Added the `--enable-tracing' switch. If you use it then the
+ library will include code to print API function names,
+ argument names and values, and function return values.
+ However, you must then turn on the tracing by setting the
+ HDF5_TRACE environment variable to a file descriptor number.
+ The default is `--disable-tracing' since enabling it causes a
+ slight increase in library size and a slowdown resulting from
+ an extra function call for each API function call (I couldn't
+ even measure the slowdown :-)
+
+./bin/trace NEW
+ A perl script that synchronizes the H5TRACE() macro calls in
+ the *.c files with the function return type and formal
+ argument names and types. If you use GNU make and gcc then
+ this will be done automatically, otherwise just invoke this
+ script with the names of one or more .c files. You could do
+ it by hand to, but encoding argument types is a little tricky
+ at first.
+
+./config/commence.in
+ Added the $(TRACE) macro, which defaults to the no-op.
+ Added -D_POSIX_SOURCE to the compiler command line.
+
+./src/Makefile.in
+ Override the default for $(TRACE).
+
+./config/depend.in
+ Automatically calls $(TRACE) to synchronize the H5TRACE()
+ macros in any source file that changed. As with makefile
+ dependencies, one way to force synchronization of all files is
+ to remove the `.depend' file.
+
+./MANIFEST
+ Added new files.
+
+./src/H5Eprivate.h
+ Modified HRETURN_ERROR() and HRETURN() for tracing.
+
+./src/H5.c
+./src/H5private.h
+ This is where the real tracing work really happens, in
+ H5_trace().
+
+./src/H5A.c
+./src/H5D.c
+./src/H5G.c
+./src/H5P.c
+./src/H5S.c
+./src/H5Z.c
+ Added H5TRACE() calls to all API functions. You don't really
+ need these changes if you don't want to merge your stuff
+ because they can be generated automatically by going to the
+ hdf5/src directory and saying ../bin/trace *.c
+
+./src/H5T.c
+ Added H5TRACE() calls. Other stuff below.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added H5TRACE() calls. Created a type H5E_auto_t for the
+ `func' argument of H5Eset_auto() and H5Eget_auto() to make
+ those arguments easier to parse for tracing. It should also
+ make it clearer for users that don't know how to read
+ complicated ANSI data types.
+
+./src/H5F.c
+ Added H5TRACE() calls. Changed a couple `uintn' argument
+ types in API functions to `unsigned int' since `uintn' part of
+ the API. Changed a few "can't" and "cant" error messages to
+ "unable to".
+
+./src/H5Ipublic.h
+ Removed H5_DIRECTORY from the H5I_group_t enum. It wasn't
+ used anywhere.
+
+./src/H5Tconv.c
+ Removed an unused label.
+
+./src/H5Fistore.c
+./src/H5Oattr.c
+./src/H5Odtype.c
+./src/H5T.c
+./test/dsets.c
+./test/dtypes.c
+ Fixed a warning about a variable possibly used before it's
+ initialized. Added __unused__ to turn off some unused
+ argument warnings that pop up when debugging is turned off and
+ optimizations are turned on.
+
+
+
+Changes since 19980612
+----------------------
+
+./src/H5Tbit.c
+./MANIFEST
+./test/Makefile.in
+./test/bittests.c NEW
+ Finished the bit vector operations and added test cases.
+
+./src/H5Tconv.c
+./test/dtypes.c
+ Finished integer->integer general conversion and added test
+ cases. Overflows and underflows are handled by substituting
+ the closest possible value. Examples:
+
+ (unsigned)0xffff -> (unsigned) 0xff
+ ( signed)0xffff -> (unsigned)0x0000
+ (unsigned)0xffff -> ( signed)0x7fff
+ ( signed)0x7fff -> ( signed) 0x7f
+ ( signed)0xbfff -> ( signed) 0xbf
+ ( signed)0x8000 -> ( signed) 0x80
+
+./src/H5private.h
+ Added definitions for MIN and MAX that take 3 or 4 arguments:
+ MIN3(), MIN4(), MAX3(), MAX4(). Also added MIN2() and MAX2()
+ as aliases for MIN() and MAX().
+
+./test/tattr.c
+ Removed some redundant `&' operators.
+
+./configure.in
+./src/H5config.h.in [regenerated]
+./src/H5.c
+ Fixed warnings on DEC where long double is the same as
+ double.
+
+
+
+Changes since 19980610
+----------------------
+
+THIS CHECKIN IS FOR QUINCEY -- NOT EVERYTHING WORKS (but it compiles)
+MOST OF THE CHANGES ARE FOR BETTER TYPE CONVERSION IN THE NEXT ALPHA
+
+./MANIFEST
+./src/H5Tbit.c NEW
+./src/Makefile.in
+ Bit vector operations (not done yet)
+
+./configure.in
+ Added -lm to the library list, needed by bit-vector operations
+ and conversion functions.
+
+ Removed vestiges of PARALLEL_SRC no longer used by the
+ makefiles. Albert came up with a better way (that actually
+ works :-)
+
+./src/H5D.c
+ No code changes. Split a couple of long lines, refilled a
+ couple multi-line comments.
+
+./src/H5T.c
+./src/H5Tpublic.h
+ Fixed a bug reported by Jim Reus regarding conversion of
+ compound data types whose members require conversions which
+ are satisfied by as-yet unregistered soft conversion
+ functions.
+
+ Added H5T_IEEE architecture, but the funny-looking integer
+ types will be changed to H5T_BE_ and H5T_LE_ architectures
+ with the type names changed to match the H5T_NATIVE_ integers.
+
+ Added an H5Tconvert() but it hasn't been documented or tested
+ yet.
+
+./src/H5Tconv.c
+./src/H5Tpkg.h
+ Registered conversion functions integer->integer (a general
+ case) and integer->float (for a specific case). The
+ integer->integer conversion depends on the bitvector
+ operations which aren't finished yet and the int->float
+ conversion hasn't been retested since it was borrowed from
+ AIO. Don't look at them yet, they're ugly :-)
+
+./src/H5detect.c
+ Fixed a typo which caused the msb_pad field of an atomic type
+ to not be initialized.
+
+./test/dtypes.c
+ Added a test for number conversions but it's commented out
+ until the conversion stuff is truly working.
+
+
+Changes since 19980605
+----------------------
+
+./html/Files.html
+./src/H5F.c
+./src/HFcore.c
+./src/H5Ffamily.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5MF.c
+./src/H5P.c
+./src/H5Ppublic.h
+ Added H5Pset_alignment() so that it is now possible to align
+ file allocation requests on application-specified
+ boundaries. Any request >= the specified threshold will begin
+ on an address which is a multiple of the specified
+ alignment. Defaults are one for threshold and alignment. The
+ alignment is done on relative addresses, so the size of the
+ user block can affect the location of the data in the file.
+
+./src/H5D.c
+./src/dsets.c
+ Added a test for, and fixed the data space caching bug in
+ datasets. Extending a dataset through one handle will cause
+ all other handles to the same dataset to get the new dataset
+ size.
+
+./src/H5S.c
+./src/H5Sprivate.h
+ Removed an unused argument from H5S_read() which duplicated
+ information from the other argument.
+
+./config/linux
+ Made `--enable-parallel' the default on my system. It used to
+ be that way before but then I accidently turned it off and
+ forgot about it.
+
+./src/H5Fmpio.c
+ Qualified some function arguments with __unused__. Changed a
+ couple places where NULL was returned on error for herr_t
+ functions.
+
+./src/H5P.c
+ Removed unused autos from H5Pset_mpi().
+
+Changes since 19980604
+----------------------
+
+./src/H5A.c
+ Named data types can have attributes.
+
+ Fixed bugs where the API functions didn't check the return
+ values of their internal counterparts and thus the automatic
+ error reporting didn't work.
+
+ Fixed some places where the error stack wasn't cleared after a
+ function returned failure.
+
+ Data types returned by H5Aget_type() are always read-only.
+
+ If the `attr_num' argument of H5Aiterate() is null then it
+ acts like H5Giterate() instead of failing -- it begins
+ processing attributes with the first one.
+
+./src/H5D.c
+ We check for allocation overruns when scalar datasets are
+ stored in external files.
+
+./src/H5O.c
+ H5O_modify() will fail if the message is >=16kB.
+
+./src/H5Oattr.c
+ Split some long lines
+
+./src/H5T.c
+./src/H5Tprivate.h
+ Added H5T_entof() to support attributes on named types.
+
+./src/h5ls.c
+ Prints the names of attributes and their sizes.
+
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/extend.c
+./test/external.c
+./test/gheap.c
+./test/istore.c
+./test/links.c
+./test/shtype.c
+ If the environment variable HDF5_NOCLEANUP is defined then the
+ temporary files are not removed. The testhdf5 program still
+ has the bug that it removes *.h5, clobbering test files from
+ other programs... oh well.
+
+./test/dtypes.c
+ Added attribute tests.
+
+Changes since 19980604
+----------------------
+
+./html/Datatypes.html
+ Updated documentation for named data types and type sharing.
+
+./src/H5Farray.c
+ Split a couple long lines.
+
+./src/H5T.c
+ The H5T_copy() demotes immutable types to read-only types so
+ they're cleaned up properly and memory is not leaked.
+
+./test/dtypes.c
+ Modified to be more consistent with other tests. Removed all
+ internal header files, constants, types, and functions calls
+ since the API is now complete enough to test
+ everything. Temporary files are now removed.
+
+Changes since 19980526
+----------------------
+
+./MANIFEST
+ Added ./html/h5s.examples.
+
+./html/H5.format.html
+ Added new information about object header message sharing.
+ Reformatted and indented some old stuff.
+
+./src/H5A.c
+./src/H5D.c
+./src/H5Tconv.c
+./src/H5detect.c
+ Updated to work with new internal H5T functions. Fixed some
+ data type memory leaks during error recovery.
+
+./src/H5Dprivate.h
+ Added H5D_typeof() similar to H5D_entof() that returns a
+ pointer directly to the dataset's type. This is used by
+ H5Tcopy() when invoked on a dataset (see below).
+
+./src/H5Epublic.h
+ Fixed typos in H5E_BEGIN_TRY and H5E_END_TRY macros.
+
+./src/H5F.c
+ Closing a file with objects still open reports the file name
+ in the warning message. Removed unnecessary invalidation of
+ shared data types.
+
+./src/H5Gent.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+ Added `const' to some arguments.
+
+./src/H5O.c
+./src/H5Oprivate.h
+./src/H5Oshared.c
+ An object header message can now be a pointer to a message in
+ some other object header. The pointer is to the first message
+ of the appropriate type in the other object header and hard
+ link counts are maintained automatically to prevent dangling
+ pointers. The old global heap method of message sharing is
+ also supported although nothing actually uses it.
+
+./src/H5Oattr.c
+./src/H5Ocomp.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Osdspace.c
+./src/H5Oshare.c
+./src/H5Ostab.c
+ Changed the data type for the shared message info struct to
+ H5O_shared_t and added an extra initializer to the class
+ methods struct for the set_share method.
+
+./src/H5Odtype.c
+ Added the ability to share data type messages by pointing to
+ other object headers.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+ Added named data types and changed the functionality of some
+ API functions as follows:
+
+ * The term `read-only' means that a type handle cannot be
+ modified with functions like H5Tset_*() or H5Tinsert().
+
+ * The term `immutable' means the same as `read-only' with the
+ added restriction that H5Tclose() cannot be called for the
+ type. A transient type is made immutable by calling
+ H5Tlock().
+
+ * Handles to named types are always read-only.
+
+ * Handles to predefined types are immutable.
+
+ * A transient type can be converted to a named type by calling
+ H5Tcommit(). This function will fail if the type is already
+ named or is immutable.
+
+ * The API function H5Tcommitted() returns an indication of
+ whether a data type has been commited (or is named). If
+ H5Tcommitted() returns TRUE for a data type obtained by
+ calling H5Dget_type() on a dataset, then the dataset is
+ using a shared data type.
+
+ * H5Topen() returns a handle to a named type.
+
+ * H5Tcopy() always returns a handle to a modifiable transient
+ type even when invoked on a named type. Also, when invoked
+ on a dataset it returns a modifiable transient type which is
+ a copy of the dataset's data type.
+
+ * Using a named data type in the call to H5Dcreate() causes
+ the dataset object header to point to the named data type,
+ but using a transient type causes the type to be copied into
+ the dataset's object header.
+
+ * The data type returned from H5Dget_type() is a named data
+ type or a read-only transient data type depending on whether
+ the dataset points to a named data type. The old behavior,
+ to return a modifiable transient type, is accomplished by
+ overloading H5Tcopy() to operate on datasets (see above).
+
+ * H5Tshare(), H5Tunshare(), and H5Tis_shared() have been
+ removed from the API.
+
+ The following features were *not* implemented because they
+ need more discussion:
+
+ * A named data type can be opened by applying H5Topen() to a
+ dataset in which case the data type is the data type of the
+ dataset (or the data type to which the dataset points if the
+ dataset has a shared data type).
+
+ * A named data type can have attributes like groups or
+ datasets.
+
+ * The members of a compound data type can point to named data
+ types.
+
+./src/h5ls.c
+ Reports `Data type' for named data type objects in the file.
+
+./test/dtypes.c
+ Added tests for transient and named types and their use in
+ datasets.
+
+./test/shtype.c
+ Commented out all the tests since they no longer apply.
+
+./test/chunk.c
+ Removed a couple int->double coercion warnings.
+
+Still to come:
+ Documentation
+
+
+Changes since 19980522
+----------------------
+
+./MANIFEST
+./html/Caching.html [NEW]
+./html/H5.user.html
+ Added some info about caching.
+
+Changes since 19980513
+----------------------
+
+./html/Datasets.html
+ Fixed a couple of typos.
+
+./src/H5.c
+ Added the `Z' modifier to HDfprintf() for `size_t' sizes. Use
+ it like this:
+ HDfprintf(stderr,"size is %Zd\n", (size_t)x);
+
+./src/H5AC.c
+./src/H5F.c
+./src/H5Fprivate.h
+ The maximum number of meta data objects that can be cached can
+ be set from the application (but the library might not honor
+ it every time; it's a hint).
+
+./src/H5D.c
+ Changed a warning message so it's not so alarming.
+
+./src/H5Fistore.c
+ Chunks can be cached.
+
+./src/H5O.c
+./src/H5Oprivate.h
+ Added H5O_copy() and H5O_free() to copy and free messages.
+
+./src/H5P.c
+./src/H5Ppublic.h
+ Added H5Pset_cache() and H5Pget_cache() and changed lots of
+ "template" to "property list".
+
+./src/H5Z.c
+./src/H5Zpublic.h
+ Miscellaneous little things to clean up. Mostly just removed
+ H5Z_MAXVAL and added H5Z_USERDEF_MIN and H5Z_USERDEF_MAX.
+
+./MANIFEST
+./test/Makefile.in
+./test/chunk.c [NEW]
+ Added a performance test for chunk caching. It looks at the
+ amount of I/O instead of timing because timing is partly
+ dependent on the chunk size and I wanted a measurement that
+ was a function of only the cache size. Run `chunk' with no
+ arguments and then say `gnuplot x-gnuplot' to see the plots
+ (press return between plots). Postscript files are created for
+ each plot.
+
+./test/big.c
+./test/cmpd_dset.c
+./test/extend.c
+./test/external.c
+./test/gheap.c
+ Added H5F_ACC_DEBUG so we can see cache performance
+ statistics.
+
+
+Changes since 19980501
+----------------------
+
+./src/H5Bprivate.h
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fprivate.h
+./src/H5Gpkg.h
+./src/H5MF.c
+./src/H5P.c
+./src/H5Ppublic.h
+./test/big.c
+./html/Big.html
+./html/Files.html
+ Family members can now be any size >1kB. Got rid of some
+ places where we were reading a property list after it was
+ closed.
+
+./MANIFEST
+./src/Makefile.in
+./src/h5repart.c
+ A program to repartition file families. The source and/or
+ destination may be files or file families. Examples:
+
+ testhdf5 -c -o stab
+ h5repart -m 1m tstab2.h5 x%05d.h5
+ h5repart -m 100k x%05d.h5 y%05d.h5
+ h5repart y%05d.h5 z.h5
+ diff tstab2.h5 z.h5
+
+./src/h5ls.c
+ Added a usage message, replaced assertions with error
+ messages.
+
+./config/linux
+ Made a warning message more obvious. Added better
+ optimization flags for Pentium-Pro's.
+
+
+
+Changes since 19980430
+----------------------
+
+./src/H5G.c
+ Fixed a read/write of free memory that my home-brew purify
+ doesn't catch (yet :-)
+
+Changes since 19980428
+----------------------
+
+./src/H5A.c
+./src/H5F.c
+./src/H5G.c
+./src/H5O.c
+./src/H5Osdspace.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Z.c
+./test/big.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/extend.c
+./test/istore.c
+ Now that I have a home-grown version of Purify I fixed all the
+ leaks in all the test files.
+
+Changes since 19980424
+----------------------
+
+./src/H5A.c
+./src/H5T.c
+ Fixed memory leaks. More to come later but PureAtria doesn't
+ make a Linux version of purify and the free version doesn't
+ compile with the new SMP Linux kernels so I had to debug over
+ the internet on a day that Sprint seemed to be having routing
+ problems... oh well. I got rid of most of the leaks.
+
+./src/H5Apublic.h
+ Includes H5Ipublic.h for types in the header file.
+
+./src/H5O.c
+ Comments improved for H5O_read()
+
+./test/tattr.c
+ Removed a non-ANSI empty initializer.
+
+./test/dsets.c
+ Include <string.h>
+
+./test/istore.c
+ Fixed a non-ANSI pointer conversion.
+
+
+Changes since 19980424
+----------------------
+
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fsplit.c
+./src/H5P.c
+ The H5Pget_family() and H5Pget_split() always return a file
+ access property list even if it's the default.
+
+ It is an error to set the default low-level driver to a
+ composite driver at compile time.
+
+./src/H5T.c
+ Fixed a memory leak associated with compound data types.
+
+Changes since 19980422
+----------------------
+
+./acconfig.h
+./configure.in
+./config/BlankForm
+./src/H5.c
+ Configure tries to figure out how to print `long long' types
+ and then defines PRINTF_LL_WIDTH to be `ll' or `q' or
+ something. It does this by running little sprintf() programs
+ with various formats until it gets one that works. If this
+ causes problems when cross compiling (like with parallel
+ machines) then you may add the following to the appropriate
+ config file:
+
+ hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'} or
+ hdf5_cv_printf_ll=${hdf5_cv_printf_ll='q'} or
+ hdf5_cv_printf_ll=${hdf5_cv_printf_ll='l'}
+
+
+./config/intel-osf1
+./config/irix5.3
+ Updated these config files to match the others. This allows
+ the `--enable-production' configure flag to work properly.
+
+./MANIFEST
+ Added INSTALL_parallel.ascired, examples/Attributes.txt,
+ html/Attributes.html, testpar/Makefile.ascired. Removed
+ H5Dpkg.h
+
+
+./src/H5A.c
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpkg.h [REMOVED]
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+ Rearranged some header stuff so H5A doesn't have to include
+ the package-private header files that don't belong to it.
+
+./src/H5E.c
+ Added the H5E_ATTR message to the major error struct.
+
+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.
+
+Changes since 19980417
+----------------------
+
+This checkin completes the compression stuff almost two weeks ahead of
+schedule. It should now all be working and documented.
+
+./Makefile.in
+./config/commence.in
+ A distclean causes the distribution makefile to be copied to
+ Makefile again.
+
+./src/H5D.c
+ Opening a compressed dataset now works properly.
+
+./src/H5P.c
+./src/H5Ppublic.h
+ The H5Pset_compression() and H5Pget_compression() now work as
+ documented.
+
+./src/H5T.c
+ Fixed a bug that causes the library to crash sometimes if
+ debugging is turned on for the `t' package.
+
+./src/H5Z.c
+ Fixed a bug where the number of bytes attributed to
+ compression overruns was too low in the debugging output.
+
+./test/dsets.c
+ More compression tests: reading of uninitialized data, opening
+ an existing dataset and reading it, partial I/O which isn't
+ aligned on chunk boundaries, and use of application-defined
+ compression methods.
+
+./MANIFEST
+ Removed ./test/dspace.c.
+
+
+Changes since 19980414
+----------------------
+
+./html/Compression.html [NEW]
+./html/Datasets.html
+./html/H5.format.html
+./html/H5.user.html
+ Documented compression. A couple of the H5P functions aren't
+ quite implemented yet but they're coming soon...
+
+./src/H5Dprivate.h
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5Farray.c
+./src/H5Fistore.c
+./src/H5Fprivate.h
+./src/H5MF.c
+./src/H5MFprivate.h
+./src/H5O.c
+./src/H5Ocomp.c [NEW]
+./src/H5Oprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+./src/H5Z.c [NEW]
+./src/H5Zprivate.h [NEW]
+./src/H5Zpublic.h [NEW]
+./src/Makefile.in
+./src/hdf5.h
+./test/dsets.c
+./test/istore.c
+ Compression is now mostly working. Don't try to open a
+ compressed dataset though because the compression message
+ won't be read.
+
+./html/Datatypes.html
+./html/H5.api.html
+./src/H5.c
+./src/H5private.h
+./src/H5D.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+ Added timing support. When compiled with H5T_DEBUG defined
+ the library will print conversion bandwidths when the library
+ closes. The H5Tregister functions take a string as the first
+ argument so the statistics output is meaningful.
+
+./MANIFEST
+ Added new files.
+
+./configure.in
+./src/H5config.h.in
+ Check for getrusage(). Check for compress2() in libz.a and
+ the zlib.h header file. Added `z' to the debug list.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Gnode.c
+./src/debug.c
+ Cleaned up some indentation and added support to print istore
+ B-trees. From the debugger, give the B-tree address and the
+ dimensionality from the layout message of the object header.
+
+./src/h5ls.c
+ The oid is printed as w:x:y:z where w and x are the file ID
+ and y and z are the OID within the file. You can give z or
+ y*2^32+z as an argument to the debugger to print the object
+ header for the object.
+
+./src/H5AC.c
+ Cleaned up statistics and made them match those reported by
+ H5T and H5Z.
+
+./src/H5MM.c
+./src/H5MMprivate.h
+./src/H5Fistore.c
+ Finally got rid of a couple of long-standing const cast
+ warnings.
+
+Changes since 19980410
+----------------------
+
+./html/H5.format.html
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5F.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./src/h5ls.c
+./test/Makefile.in
+ Symbolic links are now supported. The ./test/links program
+ will create a `links.h5' file that demonstrates hard links,
+ soft links, dangling links, and recursive links. A symbolic
+ link is a symbol table entity and doesn't have an object
+ header. It's format is described in H5.format.hml.
+
+./src/H5G.c
+./src/H5Gpublic.h
+./src/h5ls.c
+ Implemented H5Gstat() and H5Gget_linkval() as documented by
+ Quincey. The `H5G_type_t type' field of `H5G_stat_t' was
+ changed to `int type' because H5G_type_t was already used and
+ the `type' data type should be open-ended.
+
+./src/H5Ffamily.c
+ Removed an incorrect diagnostic message.
+
+./test/big.c
+ Added read/write calls to test partial I/O to big contiguous
+ datasets. With no arguments it writes to a dataset and prints
+ the list of points written which should be redirected to a
+ file. With an argument (the name of a file containing the
+ stdout of a run with no arguments) values are read from the
+ dataset. One would typically say `big >x && big x'.
+
+Changes since 19980409
+----------------------
+
+./INSTALL
+./INSTALL_MAINT
+ Updated installation instructions.
+
+./html/Big.html [NEW]
+ A guide to using big datasets on small machines.
+
+./MANIFEST
+ Added Big.html and INSTALL.ascired.
+
+./html/Datasets.html
+./html/Dataspaces.html
+./html/Datatypes.html
+./html/Files.html
+./html/H5.api.html
+./html/H5.intro.html
+./html/H5.sample_code.html
+./html/H5.user.html
+ Updated documentation by changing lots of `size_t' arguments
+ to `hsize_t'. Added line numbers to some examples.
+
+./html/H5.intro.html
+ Perhaps someone want's to volunteer to make this file
+ human-readable?
+
+
+Changes since 19980408
+----------------------
+
+./src/H5Osdspace.c
+./html/H5.format.html
+ In the past we were allowed to have >2GB files on a 32-bit
+ machine as long as no dataset within the file was larger than
+ 4GB (or whatever sizeof(size_t) is). That's been fixed now.
+ All dataset size calculations are done with `hsize_t' which is
+ normally defined as `unsigned long long'.
+
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+ The file family member size can now be set/queried. The
+ default is still 64MB, but it can be set to 1GB by saying:
+
+ H5Pset_family (plist, 30, H5P_DEFAULT);
+
+ When opening an existing file family the specified
+ bits-per-member is ignored and the first member of the family
+ determines the bits-per-member, which can be retrieved with
+ H5Pget_family().
+
+./acconfig.h
+./configure.in
+./src/H5config.h
+./src/H5public.h
+ Added `--disable-hsizet' so that those with old GCC compilers
+ (<2.8.1) can still compile the code.
+
+
+./src/H5.c
+./src/H5private.h
+ Added HDfprintf() which works just like fprintf() except you
+ can give `H' as a size modifier for the integer conversions
+ and supply an `hsize_t' or `hssize_t' argument without casting
+ it. For instance:
+
+ hsize_t npoints = H5Sget_npoints(space);
+ HDfprintf(stdout,"Dataset has %Hd (%#018Hx) points\n",
+ npoints, npoints);
+
+ You can now give `%a' as a format to print an address, but all
+ formating flags are ignored and it causes the return value of
+ HDfprintf() to not include the characters in the address (but
+ who uses the return value anyway :-). Example:
+
+ H5G_t *grp;
+ HDfprintf(stdout, "Group object header at %a\n",
+ &(grp->ent.header));
+
+ Added HDstrtoll() which works exactly like [HD]strtol() except
+ the result is an int64.
+
+./src/debug.c
+ Large addresses can now be entered from the command-line. Use
+ either decimal, octal (leading `0') or hexadecimal (leading
+ `0x') when giving the address.
+
+./src/h5ls.c
+ The printf format for dataset dimensions was changed to `%Hu'
+ to support large datasets.
+
+./test/big.c [NEW]
+ A test for big datasets on 32-bit machines. This test is not
+ run by default. Don't try to run it on an nfs-mounted file
+ system or other file system that doesn't support holes because
+ it creates two 32GB datasets of all zero.
+
+
+Changes since 19980407
+----------------------
+
+./src/H5B.c
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5HG.c
+./src/H5HL.c
+./src/H5MF.c
+./src/H5MFprivate.h
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Oprivate.h
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5S.c
+./src/H5Sprivate.h
+./src/H5Spublic.h
+./src/H5Ssimp.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5V.c
+./src/H5Vprivate.h
+./src/H5private.h
+./src/H5public.h
+./src/h5ls.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/extend.c
+./test/external.c
+./test/hyperslab.c
+./test/iopipe.c
+./test/istore.c
+./test/shtype.c
+./test/tfile.c
+./test/th5s.c
+ Anything having to do with the size of a dataset now uses the
+ types `hsize_t' and `hssize_t' which must be the same size and
+ at least as large as `size_t'. This isn't fully tested yet,
+ so hsize_t and hssize_t are defined as size_t and ssize_t in
+ H5public.h. Setting them to larger values will trip up gcc
+ versions less than 2.8.1 on x86 platforms.
+
+ Documented unused function formals with `__unused__' before
+ the formal name. This also has the effect of supressing
+ warning messages for gcc since it's defined to be
+ `__attribute__((unused))' in the H5private.h file.
+
+./src/debug.c
+./src/h5ls.c
+ If the file name contains a `%' then the file is opened as a
+ file family with H5P_DEFAULT for the file member access
+ property list.
+
+./src/h5ls.c
+ The group name is optional, defaulting to `/'.
+
+./src/hdf5.h
+ Added some missing public header files.
+
+Changes since 19980403
+----------------------
+
+./configure.in
+ Moved setting of compiler warning switches earlier in the file.
+ Turned on more warning switches to gcc.
+
+./config/linux
+ Prints a warning if the gcc version is less than 2.8.1 since
+ that version has problems with register allocation for `long
+ long'.
+
+./html/Datatypes.html
+ Documented sharing of data types between datasets.
+
+./src/H5G.c
+./src/H5Gpublic.h
+ Implemented H5Gmove(), H5Glink() and H5Gunlink() for hard
+ links. Still have soft links to do.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5D.c
+./src/H5E.c
+./src/H5Eprivate.h
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5HG.c
+./src/H5HL.c
+./src/H5HLprivate.h
+./src/H5I.c
+./src/H5Iprivate.h
+./src/H5MM.c
+./src/H5MMprivate.h
+./src/H5O.c
+./src/H5Oefl.c
+./src/H5Oprivate.h
+./src/H5Osdspace.c
+./src/H5Oshared.c
+./src/H5Ostab.c
+./src/H5P.c
+./src/H5S.c
+./src/H5Ssimp.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./src/H5V.c
+./src/H5Vprivate.h
+./src/H5detect.c
+./src/h5ls.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/external.c
+./test/hyperslab.c
+./test/iopipe.c
+./test/istore.c
+./test/shtype.c
+./test/tstab.c
+ Fixed comparisons between signed and unsigned values. Fixed
+ warnings about unused function arguments.
+
+
+Changes since 19980402
+----------------------
+
+./MANIFEST
+./test/Makefile.in
+./test/shtype.c [NEW]
+ Added some tests for shared data types.
+
+./configure.in
+ Removed MF and HL from the default debug list since. MF
+ because it hasn't been implemented yet and HL because it
+ produces lots of annoying messages about adjusting the size of
+ local heaps.
+
+./src/H5F.c
+./src/H5T.c
+./src/H5Tprivate.h
+ Fixed a bug with opening the same file twice. The first close
+ on the file_id incorrectly closed shared data structs.
+ Closing a file now correctly unshares data types that might be
+ pointing into that file.
+
+./src/H5T.c
+./src/H5Tpublic.h
+ Added an H5Tis_shared(). The caller supplies a file and a
+ data type and the function returns true if the data type is
+ currently marked for sharing in that file.
+
+./src/H5AC.c
+./src/H5F.c
+./src/H5HL.c
+./src/H5HG.c
+./src/H5MF.c
+./src/H5O.c
+ We now detect errors sooner when writing to a read-only
+ file. In the past, the error might not show up until the
+ cached item was flushed, and it was sometimes possible to not
+ even get an error!
+
+./src/H5I.c
+./src/H5Iprivate.h
+ If the search function fails then H5I_search() returns
+ failure. Also, the first argument for the search function
+ isn't const anymore because we might want the search to have
+ side effects (like calling H5T_unshare() for all shared data
+ types whose file just closed).
+
+
+
+Changes since 19980330
+----------------------
+
+./MANIFEST
+./src/Makefile.in
+./test/Makefile.in
+ Added new files.
+
+./config/linux
+./src/H5HL.c
+./src/H5HLprivate.h
+./src/H5MF.c
+./src/H5MFprivate.h
+ Added `-DH5HL_DEBUG -DH5MF_DEBUG' to the debug list.
+
+./html/H5.format.html
+ Updated shared object message information.
+
+./src/H5D.c
+ Datasets can now share data types.
+
+./src/H5F.c
+ Updated a comment that referred to H5ACC_WRITE.
+
+./src/H5HG.c
+./src/H5HGprivate.h
+ Moved a few things around. Made debugging better so you can
+ now give a collection address to ./src/debug and it shows some
+ useful stuff.
+
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Onull.c
+./src/H5Oprivate.h
+./src/H5Osdspace.c
+./src/H5Oshared.c [NEW]
+./src/H5Ostab.c
+ Supports shared messages.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+ The H5Tshare() function allows the user to give the library
+ hints about how a data type will be used.
+
+./test/shtype.c
+ Tests the H5Tshare() function.
+
+./test/gheap.c
+ Tests the global heap.
+
+./configure.in
+./config/BlankForm [NEW]
+./config/alpha-dec
+./config/freebsd2.2.1
+./config/hpux10.20
+./config/irix6.2
+./config/irix64
+./config/linux
+./config/powerpc-ibm-aix4.2.1.0
+./config/rs6000-ibm-aix4.1.4.0
+./config/solaris2.5
+ Cleaned up lots of configuration stuff and made the site
+ configuration files lots easier and more uniform. To make a
+ new file grab the BlankForm and modify it.
+
+ By default, debugging is turned on for most packages. Within
+ a package one can use `#ifdef H5AC_DEBUG' to wrap debugging
+ code. Other options are:
+
+ --enable-debug
+ --enable-debug=yes
+ The default, most but not all packages.
+
+ --disable-debug
+ --enable-debug=no
+ --enable-debug=none
+ The symbol NDEBUG is defined and none of the package
+ debug symbols.
+
+ --enable-debug=all
+ Debugging is turned on for all packages. This might
+ produce lots of output.
+
+ --enable-debug=g,d
+ Debugging is turned on for H5G and H5D.
+
+ A compile mode is also now supported
+
+ --enable-production
+ --enable-production=yes
+ The library is compiled with optimizations turned on.
+ The compiler flags are augmented by adding PROD_CFLAGS
+ and PROD_CPPFLAGS which are defined in the site config
+ file.
+
+ --disable-production
+ --enable-production=no
+ The default. The library is compiled for development
+ by including DEBUG_CFLAGS and DEBUG_CPPFLAGS defined in
+ the site config file. This is usually just `-g'.
+
+ --enable-production=profile
+ --enable-production=pg
+ Builds a library for profiling by including the flags
+ from PROFILE_CFLAGS and PROFILE_CPPFLAGS defined in the
+ site config file. This is usullay just `-pg' but it
+ could include optimization flags as well depending on
+ the type of profile one wants.
+
+ In summary, configure by saying `./configure' and you'll get a
+ development version of the library. Configure by saying
+ `./configure --enable-production --disable-debug' and you'll
+ get a production version with no debugging code.
+
+
+
+Changes since 19980324
+----------------------
+
+./MANIFEST
+./src/H5HG.c [new]
+./src/H5HGprivate.h [new]
+./src/H5HGpublic.h [new]
+./src/Makefile.in
+ Added global heaps, H5HG. This compiles but is untested.
+
+./src/H5D.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gstab.c
+./src/H5HL.c [renamed from H5H.c]
+./src/H5HLprivate.h [renamed from H5Hprivate.h]
+./src/H5HLpublic.h [renamed from H5Hpublic.h]
+./src/H5Oefl.c
+./src/Makefile.in
+./src/hdf5.h
+./test/theap.c
+ Renamed local heaps from H5H to H5HL.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/debug.c
+ Added debugging support for global heap collections.
+
+./html/H5.format.html
+ Ripped out the old small object heap documentation and added
+ documentation for the new global heap.
+
+./html/H5.api.html
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5private.h
+ The H5Pget_version() function no longer returns a small object
+ heap version number. Instead, each collection of the global
+ heap has its own version number instead of a single number in
+ the file boot block.
+
+./bin/release
+ Omit files marked for removal by CVS even though the removal
+ hasn't been committed yet.
+
+./test/iopipe.c
+ Removed warnings about casting unsigned int to double on Irix64.
+
+./MANIFEST
+ Removed ./test/testpar/phdf5sup.c
+
+Changes since 19980324
+----------------------
+
+./src/H5D.c
+ Zero element requests for H5Dread() and H5Dwrite() succeed.
+
+./src/H5F.c
+./src/H5Fprivate.h
+ All files will have a root group. This greatly simplifies the
+ library at the expense of ~1k extra bytes in files that have
+ only one object.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./html/Groups.html
+ Functions that used to take a file ID and an object name can
+ now take a group ID instead of a file ID. This doesn't change
+ the API, only it's documentation.
+
+./src/H5G.c
+./src/H5Gprivate.h
+./src/H5O.c
+./src/H5Oprivate.h
+ Removed extra file arguments from some internal functions
+ since the file pointer can be found from the group pointer or
+ a symbol table entry (ent->file or H5G_fileof(group)).
+ Besides, when we eventually implement mounting one file on
+ another, H5G_namei() might return a different file than what
+ you gave it, and that file is part of the returned symbol
+ table entry.
+
+./src/H5G.c
+ Fixed bug with `.' appearing in a name. It used to hang the
+ library.
+
+./src/Makefile.in
+./src/h5ls.c [NEW]
+./MANIFEST
+ Added `h5ls' a simple program that takes a file name and a
+ directory and lists the contents of that directory using
+ H5Giterate().
+
+./test/istore.c
+ Changed an argument to H5G_create().
+
+./test/tstab.c
+ Removed test_1 which was testing that files with a single
+ object don't have a root group. This no longer applies.
+
+
+Changes since 19980318
+----------------------
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gpublic.h
+./src/H5Gstab.c
+ Implemented H5Giterate(). However, since most functions can't
+ take a group ID in place of a file ID yet, there's not a whole
+ lot that the operator can do besides print the name or something.
+
+./test/H5O.c
+ Fixed writing of four uninitialized bytes to the file as part
+ of an object header.
+
+./test/istore.c
+ For some reason, `mpirun -np 1 istore' results in extra
+ arguments on the command line that istore doesn't understand.
+ I'm probably forgetting to call some MPI function in
+ main(). Albert, Kim? So I commented out the `exit(1)' for the
+ time being.
+
+Changes since 19980318
+----------------------
+
+./config/linux
+ Turned on MPIO if the host name is `arborea' so I always
+ compile it and realize when I break something instead of
+ waiting for Albert or Kim to find it.
+
+./MANIFEST
+./html/H5.user.html
+./html/IOPipe.html [NEW]
+./html/pipe1.gif [NEW]
+./html/pipe1.obj [NEW]
+./html/pipe2.gif [NEW]
+./html/pipe2.obj [NEW]
+./html/pipe3.gif [NEW]
+./html/pipe3.obj [NEW]
+./html/pipe4.gif [NEW]
+./html/pipe4.obj [NEW]
+./html/pipe5.gif [NEW]
+./html/pipe5.obj [NEW]
+ Documented the raw data I/O pipeline.
+
+
+
+Changes since 19980317
+----------------------
+
+./MANIFEST
+./configure.in
+./configure
+./Makefile.in
+./bin/distdep [NEW]
+./config/conclude.in
+./config/depend.in
+./src/.distdep [NEW]
+./test/.distdep [NEW]
+ Added some code so non-GNU systems have a list of dependencies
+ between the .c files and the .h files. Hopefully this works
+ and y'all don't have to keep saying `make clean' each time you
+ change a header.
+
+ On systems with GNU make, GCC, and Perl, the dependency
+ information is generated automatically from rules in
+ config/depend.in as has always been done. But now extra files
+ called `.distdep' (for `distributable dependencies) are left
+ in each directory and these are part of CVS and thus
+ releases. (A `make dep' will create dependencies on demand
+ without doing anything else.)
+
+ On systems lacking one or more of the tools above, the various
+ `.distdep' files are inserted into the end of the Makefiles.
+ If you do developement on one of these systems you'll have to
+ update the `.distdep' and/or Makefile by hand, or wait until
+ you have access to a GNU system and do a `make dep'.
+
+
+Changes since 19980316
+----------------------
+
+./src/H5D.c
+./src/H5T.c
+./src/H5Tprivate.h
+ Fixed a bug found by Kevin Powell regarding preservation of
+ existing data during a read or write when the source and
+ destination data types are the same. Thanks Kevin!
+
+ Fixed a couple warnings on Irix64.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5P.c
+./src/H5Ppublic.c
+./src/H5Tconv.c
+./src/H5Tpublic.h
+./test/cmpd_dset.c
+ The application can now turn on/off the part of the I/O
+ pipeline that deals with preservation of initialized data.
+ The default is off since this will be the usual case and
+ turning it on slows down the pipe. Use H5Pset_preserve() and
+ H5Pget_preserve().
+
+./src/H5Fistore.c
+ Added an optimization for reading/writing a single chunk of
+ chunked storage.
+
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Osdspace.c
+./src/H5Ostab.c
+ Fixed warnings reported by marek@iiasa.ac.at. Thanks Marek.
+
+./src/H5Odtype.c
+ Fixed a failing assert() wrt reading compound types (not
+ present in hdf5-1.0.0a).
+
+
+Changes since 19980313
+----------------------
+
+./configure.in
+./configure
+./test/iopipe.c
+ Added check for system(3)
+
+./config/freebsd2.2.1
+./config/linux
+ Added -DH5D_DEBUG to the debug flags.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+./html/Datasets.html
+ Finally implemented strip mining in the I/O pipeline, placing
+ a user-defined upper bound on the amount of temporary memory
+ used by the pipeline. The default is 1MB type conversion and
+ background buffers allocated/freed on demand. However, the
+ size can be changed and/or application-allocated buffers
+ supplied with H5Pset_buffers() called on the data transfer
+ property list passed to H5Dread() and H5Dwrite().
+
+ Minor optimizations to H5Dread() and H5Dwrite(). More coming
+ later...
+
+./test/dsets.c
+ Added calls to H5Pset_buffer() to test application-defined
+ temporary buffers in the I/O pipeline.
+
+./test/Makefile.in
+ Removed `iopipe' from the list of confidence tests. Saying
+ `make timings' in the test directory runs timing tests. I did
+ this because (1) they don't really test anything new, and (2)
+ they can take a long time to run.
+
+Changes since 19980306
+----------------------
+
+./MANIFEST
+./src/H5D.c
+./src/H5S.c
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5V.c
+./test/Makefile.in
+./test/iopipe.c [NEW]
+ Optimizations to the I/O pipeline.
+
+./src/H5Fistore.c
+./src/H5Oefl.c
+ Fixed a few compiler warnings.
+
+./MANIFEST
+ Added entries for ./config/{intel-osf1,irix5.3}
+
+Changes since 19980305
+----------------------
+
+./configure.in
+./configure
+./config/commence.in
+ Added checking for `ar' then `xar' and set the $(AR) variable
+ in the Makefiles. The check is not performed if $AR is
+ already defined in the environment (including being set in a
+ config file). We check for `-lcoug' for ASCI/Red.
+
+Changes since 19980305
+----------------------
+
+./src/H5D.c
+./test/external.c
+ A contiguous dataset can now be stored in external files in
+ such a way that the slowest varying dimension can be increased
+ after the dataset is created and even written. The user must
+ have reserved enough space in the external file and the data
+ space must allow an increase the the slowest varying dimension.
+ See test_3() of ./test/external.c
+
+./src/H5Oefl.c
+ Fixed an overflow bug with unlimited external storage.
+
+./src/H5V.c
+ Fixed a cast warning.
+
+./test/dsets.c
+ Make better use of automatic error reporting.
+
+Changes since 19980304
+----------------------
+
+./MANIFEST
+ New files
+
+./html/extern1.gif [NEW]
+./html/extern1.obj [NEW]
+./html/extern2.gif [NEW]
+./html/extern2.obj [NEW]
+./html/Datasets.html
+ Documented external raw data storage.
+
+./html/Datasets.html
+./html/chunk1.gif [NEW]
+./html/chunk1.obj [NEW]
+ Added a picture and better description for chunking since it
+ seems that people are thinking chunks are fixed-size at the
+ file level instead of at the array level.
+
+./src/H5D.c
+./src/H5Dpublic.h
+./test/external.c
+ Changed H5Dget_create_parms() to H5Dget_create_plist().
+
+./src/H5D.c
+./src/H5Farray.c
+./src/H5Fprivate.h
+./src/H5Oefl.c
+./src/H5Oprivate.h
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+./test/external.c
+./test/istore.c
+ External raw data file I/O for contiguous storage is now
+ working. The library supports segments of various sizes which
+ can be scattered throughout multiple files in any order.
+
+./test/Makefile.in
+ Remove more temporary files.
+
+
+
+Changes since 19980228
+----------------------
+
+./html/Dataspaces.html
+./html/Errors.html
+./html/Files.html
+./html/H5.api.html
+./html/review1.html
+./src/H5private.h
+./src/H5public.h
+./test/dsets.c
+./test/dtypes.c
+ Removed all the types like `int32' and `intn' into private
+ headers since they violate the naming scheme and pollute
+ application name space. Besides, our test files only use them
+ in a handful of places and it's probably useless to export
+ them to the app. The app is always written in terms of
+ standard numeric types or its own numeric types and probably
+ never in terms of HDF5 numeric types. If it were, then the
+ user would have to copy from their type to hdf5 type for
+ almost every hdf5 API function call! Same goes for return
+ values. I also removed SUCCEED/FAIL from the API since apps
+ should be checking against zero anyway.
+
+ if (FAIL==(space=H5Screate_simple(...))) /*wrong*/
+ if ((space=H5Fcreate_simple(...)<0)) /*right*/
+
+
+./src/H5.c
+ Changed arguments of H5version() from `uintn' to `unsigned'.
+
+./src/H5Tpublic.h
+./src/H5T.c
+ Changed return type of H5Tget_nmembers() from `intn' to `int'
+
+
+./src/H5A.c
+./src/H5Aprivate.h
+./src/H5Apublic.h
+ Changed `H5Asearch_func_t' to `H5A_search_func_t' and moved
+ its definition from the public to the private header file.
+
+
+./html/H5.format.html
+ Documented changes made to the external file list (H5O_EFL)
+ message.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5O.c
+./src/H5Oefl.c
+./src/H5Oprivate.h
+./src/H5P.c
+./src/H5Ppublic.h
+ Added partial support for external raw data files. HDF5 can
+ now describe external raw data files by listing the file
+ names, offsets, and size for a dataset. However, we will
+ restrict a dataset to be stored "contiguously" when the
+ external file list is viewed as a single address space. The
+ current implementation is unable to read/write to external
+ files--that will come later this week as will documentation.
+ For now, take a look at ./test/external.c, particularly the
+ calls to H5Pset_external().
+
+./test/Makefile.in
+./test/external.c [NEW]
+./MANIFEST
+ Added tests for external storage. Note: the read test is
+ supposed to fail at this point since reading external datasets
+ is not implemented yet. There is no write test.
+
+./src/H5S.c
+./src/H5Sprivate.h
+./src/H5Ssimp.c
+ Added H5S_get_npoints_max() to return the maximum possible
+ number of data points in a data space.
+
+ Added an extra argument to H5S_get_dims() which returns the
+ maximum dims.
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+./src/H5M.c [DEPRICATED]
+./src/H5Mpublic.h [DEPRICATED]
+ Changed `template' to `property list' in lots of places.
+
+./src/H5Osdspace.c
+ Removed an extra `\n' from a print statement.
+
+./src/H5S_public.h
+ Changed H5S_UNLIMITED to the maximum size_t value.
+
+./test/extend.c
+ "Extendable" is spelled "extendible".
+
+./src/H5Farray.c
+./src/H5V.c
+./src/H5Vprivate.h
+./test/hyperslab.c
+ Strides are now type ssize_t instead of int. These have
+ nothing to do with the sample granularity arguments for
+ hyperslabs, which are also called "strides" in the code.
+
+./test/tstab.c
+ Changed assumptions about default address and length sizes.
+
+Changes since 19980227
+----------------------
+
+./html/Errors.html [NEW]
+./html/H5.user.html
+./MANIFEST
+ Documents the new error handling interface and gives examples.
+
+./src/H5.c
+./src/H5private.h
+./src/H5Apublic.h
+./src/H5E.c
+./src/H5Eprivate.h
+./src/H5Epublic.h
+ Rewrote error handling. Got rid of `push' overloading and
+ added a few API functions. The error stack is statically
+ allocated and not entered into H5A, simplifying error handling
+ within the error handler. Rudimentary support for threads.
+ Changed the names of some errors.
+
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5H.c
+./src/H5O.c
+./src/H5T.c
+ Changed H5ECLEAR to H5E_clear().
+
+./src/Makefile.in
+ Alphabetized source list.
+
+./test/dsets.c
+ Turned off error reporting around functions that are expected
+ to fail. Error messages are sent to stdout.
+
+./test/testhdf5.c
+./test/testhdf5.h
+ Turned off automatic error reporting since this file mostly
+ calls internal functions and does its own error reporting.
+
+Changes since 19980226
+----------------------
+
+./bin/release
+ Changed default to not tag CVS sources.
+
+./src/H5F.c
+ Replaced a constant switch with preprocessor directives.
+ Removed a local variable which was set but not used.
+
+./src/H5Fprivate.h
+ Changed `long long' to `int64' to get rid of ansi warnings in
+ a few places.
+
+ Fixed bugs in INT64DECODE() and UINT64DECODE() for big-endian
+ architectures. This fixes all the bugs with the Irix -64
+ compile.
+
+./src/H5F.c
+ The default address and length sizes are set according to the
+ sizeof(size_t) now that the bugs have been fixed.
+
+./src/H5Fpublic.h
+ Removed a trailing comma in an enumerated type.
+
+./src/H5Fstdio.c
+./src/H5Fsec2.c
+ Added two more calls to fseek64() and lseek64(). Removed `long
+ long' in place of `int64' to suppress -ansi warnings.
+
+./src/H5P.c
+ Replaced a FAIL with H5F_LOW_ERROR.
+
+./src/H5private.h
+./configure.in
+ Increased version number to hdf5-1.0.1a since we've already
+ released hdf5-1.0.0a. Include <sys/types.h>. Fixed
+ indentation. Fixed detection of off64_t for old Irix systems
+ where it might be a struct.
+
+./src/Makefile.in
+ Moved a comment from the shell to the makefile since some
+ versions of sh barf on interactive comments.
+
+./config/linux
+ Allow overriding of the CC variable from the command-line. It
+ still defaults to gcc but this allows us to specify a complete
+ path from test scripts by saying:
+
+ CC=/usr/local/tools/gnu/gcc sh configure
+
+
+Changes since 19980224
+----------------------
+
+./MANIFEST
+ Changed names for P->S and C->P changes.
+
+./INSTALL
+ Added a note.
+
+./html/Files.html
+ Added a few details for some of the new H5Pset/get functions.
+
+./src/H5F.c
+./src/H5Fpublic.h
+ Fixed automatic closing of files on exit().
+
+ Added public H5F_ACC_DEBUG. Using it to create or open a file
+ turns on debugging for that file, which currently just prints
+ cache statistics when the file is closed.
+
+./src/H5G.c
+ An error is returned if one tries to set the current working
+ group to something other than a group.
+
+./src/H5Gnode.c
+ Fixed a symbol table bug. Under certain circumstances it was
+ possible to enter a symbol in such a way that lookup of that
+ symbol failed. A bug report was sent to hdf5dev.
+
+./src/H5P.c
+./src/H5Ppublic.h
+ Added the H5Pget_...() functions for file drivers. The
+ H5Pget_mpi() is a no-op that always fails.
+
+Changes since 19980219
+----------------------
+
+./html/Files.html
+./src/H5C.c
+./src/H5Cpublic.h
+./src/H5Ffamily.c
+./src/H5Fprivate.h
+./src/H5Fsplit.c
+./test/tstab.c
+ Added file-access property functions.
+
+ The split driver takes file extensions as properties.
+
+./src/H5A.c
+./src/H5Aprivate.h
+ Added some comments. Changed H5A_destroy() to call the free
+ function on all the atoms that are destroyed. This fixes a bug
+ where the file boot block isn't updated if the file isn't
+ closed before calling exit().
+
+ Removed extra `*' and `&' from some places.
+
+./src/H5AC.c
+ Replaced an occurrence of NO_ADDR with NULL.
+
+./src/H5Odtype.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+ Data types of compound members are pointers.
+
+./H5private.h
+ Some changes to make lseek64() work on Irix 5.3 where header
+ files don't realize that `long long' works.
+
+./acconfig.h
+./configure.in
+ Removed definition for PHDF5 since it looks like everyone is
+ useing HAVE_PARALLEL now.
+
+./configure.in
+./src/H5detec.c
+ Added checks for gethostname() and getpwuid().
+
+Changes since 19980219
+----------------------
+
+./src/H5A.c
+./src/H5C.c
+ Objects are removed from the group when there reference count
+ hits zero regardless of whether H5A knows how to free the
+ object.
+
+./src/debug.c
+./test/tstab.c
+ Changed a zero to H5C_DEFAULT.
+
+Changes since 19980206
+----------------------
+
+./configure.in
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+ We now detect and use lseek64() on systems that have it (e.g.,
+ Irix64) and are able to generate >2GB files on Irix XFS file
+ systems (and anything else that supports large files). This
+ change also removed some warning messages from the Irix `-64'
+ compiler.
+
+ > $ ls -l istore.h5
+ > -rw-r--r-- 1 matzke meshtv 8605436856 Feb 17 14:03 istore.h5
+
+./configure.in
+./src/H5Fprivate.h
+./src/H5Fstdio.h
+ We now detect and use fseek64() on systems that have it (e.g.,
+ Irix64) and are able to generate >2GB files on Irix XFS file
+ systems (and anything else that supports large files). This
+ change also removed some warning messages from the Iris `-64'
+ compiler.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added the H5E_OVERFLOW error to signal file address overflow.
+
+./src/H5Fpublic.h
+./examples/h5_chunk_read.c
+./examples/h5_compound.c
+./examples/h5_extend_write.c
+./examples/h5_group.c
+./examples/h5_read.c
+./examples/h5_write.c
+./html/Datasets.html
+./html/Files.html
+./html/H5.api.html
+./html/H5.intro.html
+./html/H5.sample_code.html
+./html/ph5example.c
+./html/review1.html
+./test/cmpd_dset.c
+./test/dsets.c
+./test/extend.c
+./test/tfile.c
+./test/th5p.c
+./test/theap.c
+./test/tohdr.c
+./test/tstab.c
+./testpar/phdf5.c
+ Renamed file access constants to follow the naming scheme.
+ Also changed the base names a little to be more accurate as to
+ what they do. The old names H5ACC_WRITE and H5ACC_OVERWRITE
+ will temporarily work.
+
+ H5ACC_DEFAULT --> H5F_ACC_RDONLY for H5Fopen()
+ H5ACC_DEFAULT --> H5F_ACC_EXCL for H5Fcreate()
+ H5ACC_WRITE --> H5F_ACC_RDWR
+ H5ACC_OVERWRITE --> H5F_ACC_TRUNC
+
+ Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE
+ macros in H5Fpublic.h should be an enum typedef and have names
+ more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE. Also
+ change the access_mode argument of H5Cset_mpio().
+
+ H5Fcreate() and H5Fopen() are more strict now about which
+ flags are acceptable for the operation.
+
+./src/H5Fprivate.h
+./src/H5F.c
+./src/H5C.c
+ Changed the file access template to make it more general. A
+ union contains a struct for each type of low-level driver and
+ the default template is initialized at run-time.
+
+./src/H5Fpublic.h
+./src/H5F.c
+ Added H5Fget_access_template() and cleaned up
+ H5Fget_create_template().
+
+./src/H5C.c
+ The H5Cset_mpi() no longer trashes the file access template
+ when an error is detected. We check for errors and *then*
+ update the file access template.
+
+ Added H5C_close() so Albert and Kim have a place to release
+ the MPI communicator and info from the file access property
+ list.
+
+ Kim or Albert: I notice in H5Cset_mpi() you copy the MPI
+ communicator. Do you need to do something similar in
+ H5C_copy()?
+
+./src/H5F.c
+ Added more error checking for the file creation and access
+ property lists because it used to be possible to make the
+ library dump core by swapping the creation and access property
+ list ID numbers of H5Fcreate().
+
+./test/istore.c
+./test/tfile.c
+./test/th5p.c
+./test/theap.c
+./test/tohdr.c
+./test/tstab.c
+./testpar/testphdf5.c
+ One must pass H5C_DEFAULT as the file creation or access
+ property list in order to get the default property list. It
+ is no longer possible to pass zero or any other arbitrary bad
+ object ID.
+
+./src/H5Fcore.c
+./src/H5Ffamly.c
+./src/H5Flow.c
+./src/H5Fmpio.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5MF.c
+ The file access property list is passed to all H5F_low_...()
+ functions and to the drivers.
+
+./src/H5Fcore.c
+ The block size can be set at run time on a per-file basis
+ instead of at compile time across all files. The "5000 items in
+ a group test" now takes 1.6 seconds.
+
+./src/H5private.h
+ Removed inclusion of mpi.h and mpio.h since they're included
+ from H5public.h.
+
+./src/H5Cpublic.h
+./src/H5C.c
+ Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(),
+ H5Cset_split(), and H5Cset_family() in addition to the
+ H5Cset_mpio() that Kim and Albert already wrote. We still
+ need the H5Cget_driver() and an H5Cget...() counterpart for
+ each of those functions. The split and family drivers still
+ need a little work but I'm checking this in anyway.
+
+
+Changes since 19980205
+----------------------
+
+./src/H5H.c
+./src/H5Hprivate.h
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Olayout.c
+./src/H5Oname.c
+./src/H5Onull.c
+./src/H5Oprivate.h
+./src/H5Odspace.c
+./src/H5Ostab.c
+./src/debug.c
+./html/H5.format.html
+ Added an extra 4-byte field after the heap magic number for
+ alignment on the DEC alpha. Changed object header message
+ alignment to 8-bytes.
+
+./src/H5F.c
+./src/H5Farray.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/H5Gnode.c
+./src/H5O.c
+./src/H5Odtype.c
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+./src/H5V.c
+./src/H5detect.c
+./test/cmpd_dset.c
+./test/dsets.c
+./test/dtypes.c
+./test/extend.c
+./test/hyperslab.c
+./test/istore.c
+./test/th5p.c
+./test/theap.c
+ Fixed a few irix64 warnings regarding size_t vs. int,
+ variables set but not used, printf formats
+
+./config/irix64
+ Added `-woff 1196' to get rid of errors about __vfork() being
+ implicitly defined in a system header file.
+
+./src/H5B.c
+ Fixed a stack alignment problem.
+
+Changes since 19980204
+----------------------
+
+./src/H5H.c
+ Changed a temporary buffer from 20 bytes to 52 bytes.
+
+./test/tfile.c
+ Default sizes for file addresses and sizes are the same as
+ sizeof(size_t) on the machine that creates the file.
+
+Changes since 19980204
+----------------------
+
+./src/H5Odtype.c
+ Compound data type names weren't aligned correctly. Thanks to
+ Elena for finding this bug.
+
+Changes since 19980203
+----------------------
+./src/H5F.c
+ The default file addr and size sizes for new files are the
+ same as sizeof(size_t) on the machine that creates the
+ file. They used to always be 4.
+
+./src/H5Pprivate.h
+./src/H5Psimp.c
+ Fixed `start' and `nelmts' arguments to be `size_t'.
+
+Changes since 19980203
+----------------------
+
+./src/H5C.c
+./src/H5Cprivate.h
+./src/H5D.c
+./src/H5Dpublic.h
+ Added H5Dget_create_parms(), trying to stay one step ahead of
+ Elena ;-)
+
+Changes since 19980130
+----------------------
+
+./MANIFEST
+ Added H5Fmpio.c. One way to check that you've properly
+ included new files is to run `./bin/release none', then unpack
+ the resulting tar file somewhere and try to compile it. The
+ tar file will be ./releases/hdf-5.0.0a.tar.
+
+./config/freebsd2.2.1
+./config/linux
+ Added `-ansi'
+
+./acconfig.h
+ Added definitions for PHDF5 and HAVE_PARALLEL.
+
+./configure.in
+ Added minimal support for parallel build. Kim and Albert will
+ have to flesh this out or I can do it if they're more specific
+ about what they need.
+
+./config/commence.in
+ Added default value for $(RUNTEST)
+
+./config/conclude.in
+ `make test' uses value of $(RUNTEST) to run test cases.
+
+./src/Makefile.in
+ Added PARALLEL_SRC for conditional compilation of H5Fmpio.c
+
+./src/H5D.c
+./src/H5Dpublic.h
+ Added H5Dget_type() for Elena
+
+
+NOTE: These changes require that configure be rerun. If you're using
+ GNU make it will happen automatically, otherwise do it by
+ hand.
+
+Changes since 19980130
+----------------------
+
+./MANIFEST
+./html/study.html [NEW]
+./html/study_1000x1000.gif [NEW]
+./html/study_250x250.gif [NEW]
+./html/study_499x499.gif [NEW]
+./html/study_5000x1000.gif [NEW]
+./html/study_500x500.gif [NEW]
+./html/study_p1.gif [NEW]
+./html/study_p1.obj [NEW]
+ The conclusions from a study of the HDF5 chunking
+ layout. Shows overhead and disk seeking.
+
+Changes since 19980130
+----------------------
+
+./INSTALL
+ Added instructions for which C flags to set for debugging.
+
+./src/H5C.c
+./src/H5Cpublic.h
+ H5Cset_chunk() takes const pointer.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+ Added H5Dextend() to extend the dimensions of a dataset.
+
+./src/H5Osdspace.c
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+./test/cmpd_dset.c
+./test/dsets.c
+./test/th5p.c
+ Added the optional `maxdims' argument to H5Pcreate_simple()
+ and defined constant H5P_UNLIMITED which can appear in the
+ maxdims. Added `const' to arguments.
+
+ Implemented H5Pcopy()
+
+ Removed the unused file argument from H5P_modify.
+
+ Added H5P_extend().
+
+ Removed the `flags' field from simple data types and we
+ determine if the `max' or `perm' arrays are valid by looking
+ at the pointer. Cleaned up the H5O_sdspace_debug output.
+
+./src/H5T.c
+ Fixed a printf format.
+
+./MANIFEST
+./test/Makefile.in
+./test/extend.c [NEW]
+ Added a test for multi-dimensional unlimited dimensions.
+
+
+Changes since 19980130
+----------------------
+
+./INSTALL
+./Makefile.dist
+./Makefile.in
+./config/conclude.in
+ Some stupid make's don't know what PHONY means. I added
+ changed config to _config in the default makefile and added
+ _test to the other makefiles.
+
+./src/H5Psim.c
+ A `file_offset' argument got changed to `int' accidently that
+ causes tests to fail on 64-bit machines. I changed it back to
+ size_t.
+
+./src/H5T.c
+ Changed a couple printf formats.
+
+Changes since 19980129
+----------------------
+
+./RELEASE
+ Added Library functions that I missed the first time.
+
+./html/Datasets.html
+ Added an example for Elena's question about how to read a
+ single member of a compound data type so it becomes an array
+ of that member in memory.
+
+./src/H5Pprivate.h
+ Fixed the prototype for H5P_get_hyperslab() to match the
+ definition.
+
+./src/H5Psimp.c
+ Oops, added the kludge back in for the offset argument, which
+ is still an `intn' instead of a `size_t'.
+
+./src/H5.c
+./src/H5public.h
+./src/H5F.c
+./src/H5T.c
+./src/H5Tpublic.h
+ Changed H5init() to H5open() and added an H5close() to fit our
+ create/open/close paradigm. The H5open() happens
+ automatically on the first call to the HDF5 library. The
+ H5close() happens automatically on exit() (unless the app
+ turns off that feature). H5close() closes all datasets and
+ files and releases all resources used by the library.
+
+./test/dsets.c
+ Added calls to H5open() and H5close() to test them.
+
+./test/dtypes.c
+ Removed call to H5init() since we no longer need it there.
+
+./src/H5Fstdio.c
+ Changed the PABLO_MASK to the right value. Thanks Kim.
+
+Changes since 19980129
+----------------------
+
+./INSTALL
+./INSTALL_MAINT
+./README
+ Updated installation instructions for hdf-5.0.0a.
+
+./RELEASE
+ Updated release notes. Needs more work.
+
+./bin/release
+ The tarballs include the name of the root directory like
+ hdf-5.0.0a so it doesn't have to be explicitly created when
+ the files are extracted.
+
+
+Changes since 19980129
+----------------------
+
+./config/freebds2.2.1
+./config/irix64
+./config/linux
+ Added -DH5T_DEBUG to the debugging flags. Also changed `true'
+ to `:' for the Irix64 ranlib program. This turns on printing
+ of data type conversion statistics when the program exits.
+
+./html/Datatypes.html
+ Fixed documentation for data conversion functions and updated
+ examples.
+
+./src/H5D.c
+ The I/O pipeline updates data type conversion statistics.
+
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tpublic.h
+ Cleaned up data type conversion registration interface.
+
+
+Changes since 19980128
+----------------------
+
+./MANIFEST
+ Added new files.
+
+./bin/Makefile.dist [NEW]
+ This file becomes the default top-level Makefile which invokes
+ configure with no arguments and then re-runs make. It's for
+ those people that don't read the INSTALL file.
+
+./bin/release [NEW]
+ Build HDF release tarballs. Arguments are a list of tarball
+ types and are: tar, compress, gzip, or bzip2. The default is
+ gzip. If the only argument is `all' then all types of tarballs
+ are created. The results are put in the `releases' directory.
+ Make sure you keep MANIFEST up to date. This program requires
+ perl-5.003 or better.
+
+./src/H5AC.c
+ Fixed a printf format.
+
+Changes since 19980128
+----------------------
+
+./src/H5P.c
+ Removed H5Pcreate()
+
+./src/H5Psimp.c
+ Copy int[] return value from H5P_get_hyperslab() to size_t[]
+ argument to pass to other hyperslab functions.
+
+./test/dsets.c
+ Added a call to H5Eprint() to help track down Alberts O2k bug.
+
+Changes since 19980128
+----------------------
+
+./MANIFEST
+ Added new config files.
+
+./src/H5private.h
+ Changed FUNC_ENTER() so it calls H5Eclear() for all API
+ functions but not for any private functions. It also prints
+ the names of all API functions on file 55 (just for the
+ prototype) so we can get a list of API functions called with
+ the Bourne shell commands like:
+
+ ./testhdf5 55>api_list or
+ ./testhdf5 55>&1 1>/dev/null 2>&1 | less
+
+ Otherwise the names are silently discarded.
+
+./src/H5.c
+./src/H5C.c
+./src/H5D.c
+./src/H5F.c
+./src/H5G.c
+./src/H5M.c
+./src/H5P.c
+./src/H5T.c
+ Removed `H5ECLEAR' from lots of places in the source code.
+
+./src/H5E.c
+./src/H5Eprivate.h
+ Recursion is a problem here, so to disable a call to
+ H5Eclear() from FUNC_ENTER just define a local variable like
+ this before you call FUNC_ENTER:
+
+ const H5E_clearable_g = FALSE;
+
+ Unfortunately this results in a warning: declaration of
+ `H5E_clearable_g' shadows global declaration. Good thing it's
+ only used in two places.
+
+Changes since 19980128
+----------------------
+
+./config/conclude.in
+ The maintainer-clean target removes Emacs backup files,
+ mirroring backup and contrib files, core files, and profile
+ output files in addition to what it used to remove.
+
+./src/H5D.c
+ Fixed a buffer allocation bug in the output pipeline.
+
+./src/H5Gnode.c
+ Fixed a comparison against size_t
+
+./test/Makefile.in
+ Added the other temporary h5 files to the `MOSTLYCLEAN' var.
+
+./test/cmpd_dset.c
+ Added four tests for partial I/O. Don't you just love it when
+ something works on the first try!
+
+Changes since 19980128
+----------------------
+
+./src/H5D.c
+./src/H5Dpublic.c
+ Added H5Dget_space().
+
+./src/H5Gstab.c
+./src/H5H.c
+ Fixed a comparison with size_t against <0.
+
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+ Changed `intn' to `int' for public function args and
+ returns. H5Pget_hyperslab() returns the dimensionality.
+
+./test/testhdf5.h
+ Clears error stack more frequently.
+
+./src/H5Psimp.c
+./test/cmpd_dset.c
+ Impelementing data space conversion.
+
+Changes since 19980127
+----------------------
+
+./Makefile.in
+./config/commence.in
+ With GNU make you can now use `-j' and `-l' options and things
+ get built correctly. I can do a `make -j -l6 test' from a
+ clean hdf5 source tree (after configure) in 45 seconds (8 to
+ build dependencies, 26 to compile everything, and 11 to run
+ the tests).
+
+./src/H5Gnode.c
+ Removed a comment that no longer applies.
+
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+ Changed H5Pselect_hyperslab() to H5Pset_hyperslab() and added
+ H5Pget_hyperslab() and H5P_get_hyperslab().
+
+ Replaced a couple short memset() calls with a for loop.
+
+ Removed `if (foo!=NULL)' from around H5MM_xfree() calls.
+
+ Clear hslab_def when the hyperslab disappears.
+
+./src/H5Tpublic.h
+ Removed trailing enum comma.
+
+Changes since 19980126
+----------------------
+
+./MANIFEST
+ Added new files.
+
+./config/linux
+ Added `-pipe' to the default GCC flags since this is supposed
+ to result in better performance on a multi-processor machine.
+
+./html/Datasets.html
+./html/dataset_p1.gif [NEW]
+./html/dataset_p1.obj [NEW]
+ Updated to match source. The things which aren't part of the
+ Feb-1 prototype are marked in bold. Added an example for
+ partial I/O.
+
+./html/Groups.html [NEW]
+./html/group_p1.gif [NEW]
+./html/group_p1.obj [NEW]
+./html/group_p2.gif [NEW]
+./html/group_p2.obj [NEW]
+./html/group_p3.gif [NEW]
+./html/group_p3.obj [NEW]
+ New documentation for groups.
+
+./html/H5.sample_code.html
+ Updated two examples to match code.
+
+Changes since 19980123
+----------------------
+
+./src/H5D.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./test/cmpd_dset.c
+ Added support to turn background buffer on/off to help speed
+ up conversions. Currently, every type of conversion turns it
+ off except compound-->compound conversions which always turn
+ it on. In the future the compound-->compound conversions
+ might be more frugal.
+
+
+Changes since 19980122
+----------------------
+
+./MANIFEST
+ Added new files.
+
+./src/H5D.c
+ Added support for partial datatype I/O which is needed when
+ merging struct members between file and disk. This isn't the
+ efficient version because the merge requires an extra gather
+ (step 1b in my pipeline diagram) that isn't turned off when it
+ isn't needed.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+ Conversion functions take an extra argument which is a pointer
+ to a blob of private data that can be used by the conversion
+ function to save anything that's expensive to compute and
+ is constant for a particular conversion path.
+
+./src/H5Tconv.c
+ Compound data type conversion is beginning to work! We can
+ handle conversions between compound types that have members
+ which are not arrays. It also supports partial conversion so
+ we can omit certain members of the source and not clobber
+ extra members in the destination.
+
+./test/Makefile.in
+./test/cmpd_dset.c [NEW]
+ Added a test case that demonstrates how to use compound data
+ types in a dataset. The output doesn't match the output of
+ the other test cases yet, the the entire example is more
+ readable and written entirely with the API.
+
+
+Changes since 19980122
+----------------------
+
+./src/H5.c
+./src/H5B.c
+./src/H5Bprivate.h
+ Changed `new' to something else in 6 places for Fabio.
+
+./src/H5T.c
+./src/H5Tconv.c
+ Beginning to work on compound data type conversion. Don't look
+ yet :-)
+
+Changes since 19980122
+----------------------
+
+./src/*.h
+ Fixed indentation where indent(1) screwed up. This isn't by
+ any means the final say, but it's better than it was.
+
+./src/H5A.c
+./src/H5Aprivate.h
+./src/H5Apublic.h
+./src/H5C.c
+./src/H5D.c
+./src/H5E.c
+./src/H5F.c
+./src/H5G.c
+./src/H5M.c
+./src/H5P.c
+./src/H5T.c
+./src/H5Tconv.c
+./src/debug.c
+./test/dtypes.c
+./test/istore.c
+./test/theap.c
+./test/tohdr.c
+./test/tstab.c
+ Removed some atom functions from the API and made them
+ library-scope. Also changed some names by removing the
+ redundant `atom' from the name and by adding a `_' after the
+ `H5A'.
+
+Changes since 19980121
+----------------------
+
+./Makefile.in
+ Added more dependencies to .PHONY.
+
+./src/H5D.c
+ The write side of the I/O pipeline is implemented now too.
+ Things are looking good for the prototype and it's just a
+ matter of populating the library with the data type and data
+ space conversion functions.
+
+./src/H5Farray.c
+./src/H5Fprivate.h
+./test/istore.c
+ Changed the order of the arguments for H5F_arr_read() and
+ H5F_arr_write().
+
+./src/H5P.c
+./src/H5Pprivate.h
+ Changed the names of the arguments of H5P_find(). Fleshed out
+ the mgath and fscat callback types.
+
+./src/H5Psimp.c
+ Added stubs for H5P_simp_mgath() and H5P_simp_fscat() that
+ operate on the entire data space. Quincey, once you have the
+ data space hyperslab stuff in place let me know and I'll
+ finish the H5P_simp_*() functions to do partial I/O. Or you
+ can take a look at it too if you like; there's some comments
+ in there for you.
+
+./src/H5V.c
+./src/H5Vprivate.h
+ Changed dimensionality arguments from `size_t' to `intn' to be
+ consistent with the rest of the library and to get rid of
+ warnings on 64-bit Irix.
+
+Changes since 19980121
+----------------------
+
+./MANIFEST
+./src/H5Psimp.c [NEW]
+./src/Makefile.in
+ Added H5Psimp.c and populated it with some conversion
+ functions. Eventually the parts of H5P.c that operate on
+ simple data spaces will be migrated to H5Psimp.c and other
+ files will be created for other types of data spaces.
+
+./src/H5D.c
+ The read pipeline, H5Dread(), has been updated to handle data
+ space conversion although the actual simple data space
+ conversion functions don't do anything yet. But we're getting
+ really close!
+
+./src/H5P.c
+./src/H5Pprivate.h
+ Added H5P_find() to locate data space conversion functions.
+ Added typedefs for structs related to data space conversion.
+
+
+Changes since 19980120
+----------------------
+
+./src/H5D.c
+ Fixed a rather major bug when reading/writing a chunked dataset.
+
+Changes since 19980116
+----------------------
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5B.c
+./src/H5D.c
+./src/H5Farray.c
+./src/H5Fprivate.h
+./src/H5V.c
+./src/H5Vprivate.h
+ Fixed indent oopses.
+
+./src/H5D.c
+./src/H5Fprivate.h
+./src/H5Farray.c
+./test/istore.c
+ We can now perform partial I/O on contiguous storage
+ transferring between a hyperslab of file storage and a
+ hyperslab of memory. However, partial I/O hasn't been added
+ to the I/O pipeline yet in H5D.c
+
+Changes since 19980114
+----------------------
+
+./html/Datasets.html
+ Removed some archaic comments about data spaces. Fixed example
+ code.
+
+./MANIFEST
+./html/H5.format.html
+./src/H5O.c
+./src/H5Oprivate.h
+./src/H5Ocstore.c [DELETED]
+./src/H5Oistore.c [DELETED]
+./src/H5Olayout.c [NEW]
+./src/Makefile.in
+./test/istore.c
+ Replaced H5O_CSTORE and H5O_ISTORE messages with a more
+ general H5O_LAYOUT message.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+ A little more work on the pipeline. Access to the file data
+ is through the new H5F_arr_read() and H5F_arr_write() which do
+ I/O on hyperslabs of byte arrays and don't depend on data
+ layout. This should simplify the I/O pipeline quite a bit.
+
+ I also added another argument to H5Dread() and H5Dwrite() to
+ describe the hyerslab of the file array on which I/O is
+ occuring. We discussed this at last week's meeting.
+
+./src/H5Farray.c [NEW]
+ Added functions that sit on top of H5F_block_read() and
+ H5F_istore_read() and implement a common set of functions
+ between all layouts. This means I/O of hyperslabs of
+ byte-arrays in the file to arrays of bytes in memory. When
+ operating on arrays of elements (>1byte) then we just add
+ another dimension. That is, a 10x20 array of int32 becomes a
+ 10x20x4 array of bytes.
+
+ [This is the area I'll be working on most of next week to
+ implement partial I/O for contiguous data and to improve
+ performance for chunked data.]
+
+./src/H5Fistore.c
+./src/H5Fprivate.h
+ Replaced the H5F_istore_t data type with the layout message
+ H5O_layout_t which looks almost the same. Eventually I'd like
+ to rename `istore' to `chunked' everywhere and use `istore'
+ for 1-d storage where the chunks are all different sizes like
+ in the small object heap where each object is a chunk.
+
+./src/H5V.c
+ Changed ISTORE to LAYOUT in one place.
+
+./test/dsets.c
+ Fixed for extra argument to H5Dread() and H5Dwrite().
+
+
+
+Changes since 19980108
+----------------------
+
+./MANIFEST
+./src/H5Dconv.c [REMOVED]
+./src/H5Tconv.c [NEW]
+./src/Makefile.in
+ Changed H5Dconv.c to H5Tconv.c
+
+./html/Datatypes.html
+ Updated data type conversion section.
+
+./html/H5.apiv2.html
+ Removed sections about datasets and data types since they're
+ covered in their own chapters.
+
+./src/H5D.c
+ Supports data type conversion.
+
+./src/H5Odtype.c
+./src/H5Tpkg.h
+ Changed `lo_pad' and `hi_pad' to `lsb_pad' and `msb_pad'.
+
+./src/H5T.c
+./src/H5Tpkg.h
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./src/H5detect.c
+ Added predefined data types. Added query/set more
+ properties. Added type conversion infrastructure.
+
+./test/dsets.c
+ Tests data type conversion during read.
+
+Changes since 19980107
+----------------------
+
+./html/Datatypes.html
+ Updated to match code.
+
+./src/H5Odtype.c
+./src/H5Oprivate.h
+./src/H5Tpkg.h
+./src/H5detect.c
+ Changed H5T_FIXED to H5T_INTEGER.
+
+./src/H5T.c
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./test/dtypes.c
+ Implemented lots of type properties.
+
+./src/H5detect.c
+./src/H5Tpublic.h
+ It is no longer necessary to call H5init() before using a
+ predefined data type.
+
+Changes since 19980105
+----------------------
+
+./config/freebsd2.2.1
+./config/linux
+ Added -UH5O_DEBUG to the debug flags. Turn this on to get
+ lots of lines on stderr to show what objects are opened and
+ closed.
+
+./src/H5C.o
+./src/H5Cpublic.h
+./test/dsets.c
+./test/tfile.c
+ Split H5Cget_prop() and H5Cset_prop() into functions for each
+ property.
+
+./src/H5D.c
+./src/H5Dpublic.h
+./src/H5Gstab.c
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Ocstore.c
+./src/H5Odtype.c
+./src/H5Oefl.c
+./src/H5Oistore.c
+./src/H5Oname.c
+./src/H5Onull.c
+./src/H5Oprivate.h
+./src/H5Osdspace.c
+./src/H5Ostab.c
+./src/H5P.c
+./src/istore.c
+./test/tohdr.c
+ Object header functions now understand constant
+ vs. non-constant messages.
+
+./src/H5F.c
+./src/H5Fprivate.h
+ The file OID can be closed before other OID's.
+
+./src/H5Flow.c
+ H5F_addr_defined() is a macro in this file.
+
+./src/H5G.c
+./src/H5Gpublic.h
+./test/tstab.c
+ A current working group cannot be deleted.
+
+./src/H5Gent.c
+./src/H5Gpkg.h
+ Removed unused functionality.
+
+./src/H5public.h
+ Includes <sys/types.h> for size_t.
+
+
+Changes since 19971219
+----------------------
+
+./src/H5private.h
+ Changed HDF5_MAJOR_VERSION to 5
+
+./src/H5Aprivate.h
+./src/H5Apublic.h
+ Added group atoms.
+
+./src/H5D.c
+./src/H5P.c
+./test/istore.c
+./test/tohdr.c
+./test/tstab.c
+ Updated for symbol table interface changes.
+
+./src/H5F.c
+./src/H5Fprivate.h
+ Simpler handling of special case files: empty files and files
+ with a single object.
+
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gpublic.h
+./src/H5Gshad.c (DELETED)
+./src/H5Gstab.c
+./src/Makefile.in
+ Removed shadows, simplifying code. Symbol table entries are
+ allowed to cache only constant meta data. Fixed naming.
+
+./src/H5O.c
+./src/H5Oprivate.h
+ Access to object headers is always done through a symbol table
+ entry instead of a file address. Added stubs for opening and
+ closing object headers to be used when deletion is implemented.
+
+
+Changes since 19971216
+----------------------
+
+./html/Datatypes.html
+ Fixed some spelling errors, added information from 12/19
+ developers' meeting, added compound data types defined in
+ terms of other compound data types.
+
+./html/H5.format.html
+ Some formatting changes and some minor updating.
+
+./src/H5ACprivate.h
+ Removed some debugging fields from a struct when debugging is
+ turned off.
+
+./src/H5H.c
+ Reformatted a couple long lines.
+
+./test/istore.c
+ Flipped a couple constants for testing. Nothing important.
+
+Changes since 19971211
+----------------------
+
+./html/Datasets.html
+ Updated from Friday's discussion.
+
+./html/Datatypes.html
+ Ready for review.
+
+./html/H5.format.html
+ Updated boot block to match source. Removed unused object
+ header messages.
+
+./src/H5.c
+ Changes to error handling.
+
+./src/H5B.c
+ Increased size of internal static buffers.
+
+./src/H5C.c
+ Fixed syntax error when NDEBUG is defined.
+
+./src/H5E.c
+./src/H5Eprivate.h
+./src/H5Epublic.h
+ Errors can now be printed with H5Eprint(). Other minor
+ changes to names and arg types.
+
+./src/H5F.c
+ The base address is now stored in the boot block. The user
+ block size and the base address are synonyms.
+
+./src/H5Fstdio.c
+ Fixed a bug with a return value from fseek().
+
+./src/H5H.c
+ Added alignment constraints to get rid of unaligned access
+ errors on the DEC alpha having to do with the heap free list.
+
+./src/H5P.c
+./src/H5Ppublic.h
+ Changed some size arguments from int to size_t and fixed
+ memory allocation calls.
+
+./src/H5T.c
+./src/H5Tpublic.h
+ Changed the order of functions so all the public ones are at
+ the top of the file. Other minor changes.
+
+./src/H5detect.c
+ Added a newline to a string constant.
+
+./test/dsets.c
+./test/dtypes.c
+./test/hyperslab.c
+./test/istore.c
+ Added a definition for __FUNCTION__. Changed a couple
+ variable types.
+
+./test/testhdf5.h
+ The error stack is printed when something goes wrong.
+
+Changes since 19971211
+----------------------
+
+./MANIFEST
+./src/H5Osdtyp.c -> H5Odtype.c
+./src/H5Osdim.c -> H5Osdspace.c
+./src/Makefile.in
+ Changed the names of these files to better reflect what they
+ actually do.
+
+./src/H5.c
+./src/H5AC.c
+./src/H5B.c
+./src/H5C.c
+./src/H5D.c
+./src/H5E.c
+./src/H5Eprivate.h
+./src/H5Epublic.h
+./src/H5F.c
+./src/H5Fcore.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fsec2.c
+./src/H5Fsplit.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gshad.c
+./src/H5Gstab.c
+./src/H5H.c
+./src/H5M.c
+./src/H5MF.c
+./src/H5O.c
+./src/H5Osdtyp.c (./src/H5Odtype.c)
+./src/H5P.c
+./src/H5T.c
+./src/H5detect.c
+./src/H5private.h
+ Added an argument to the HRETURN_ERROR(), HGOTO_ERROR(), and
+ HERROR() macros which is a string error message. This allows
+ us to give extra information which can't be represented by the
+ major and minor error numbers. This information was
+ previously in comments just before or after the macro call.
+ The string isn't currently used, but I'm planning to change
+ the test files so they print an error trace when something
+ fails. This should make debugging a little faster since it's
+ often obvious what's wrong if we could just see the error
+ stack without even having to start a debugger.
+
+./html/Datasets.html
+ Updated the example to use H5Cset_prop().
+
+Changes since 19971210
+----------------------
+
+./MANIFEST
+ Removed H5config.h since it's generated from H5config.h.in.
+
+./src/H5C.c
+./src/H5Cprivate.h
+ Changed H5Csetparm() to H5Cset_prop() and changed it to pass
+ property values by value instead of reference. Changed
+ H5Cgetparm() to H5Cget_prop(). Changed data types of file
+ creation properties so the application can use `int' or
+ `size_t' for most properties. Properties and their types are
+ documented in H5Cget_prop().
+
+ Changed H5C_class() to H5Cget_class() to make the naming more
+ uniform across packages.
+
+./src/H5Cpublic.h
+ Changed names of properties to make them more uniform across
+ packages: H5F_USERBLOCK_SIZE became H5F_SIZEOF_USERBLOCK,
+ H5F_OFFSET_SIZE became H5F_SIZEOF_ADDR, H5F_LENGTH_SIZE became
+ H5F_SIZEOF_SIZE.
+
+./src/H5D.c
+./src/H5Dprivate.h
+ Added support for chunked data storage. There still isn't any
+ support for data type conversion or data space conversion, so
+ chunked storage doesn't do much at this time.
+
+./src/H5E.c
+./src/H5Epublic.h
+ Added the H5E_TEMPLATE major error number. I'm about the
+ change the HGOTO_ERROR() and HRETURN_ERROR() macros to take an
+ error string as an additional argument instead of specifying
+ it as a comment.
+
+./src/H5Fistore.c
+ Added `const' to the `buf' argument of H5F_istore_write()
+ although this temporarily causes a compiler warning.
+
+./src/H5Fprivate.h
+ Changed data types of certain file-related variables from
+ types like `uint8' to `uintn' since the library data types
+ should not depend on the file data types.
+
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+ Moved H5Pget_lrank() to H5Pget_ndims(), and H5Pget_ldims() to
+ H5Pget_dims() to make naming more uniform. Dimensions should
+ always be of type `size_t'. Similarly for H5P_get_lrank() and
+ H5P_get_ldims().
+
+./test/dsets.c
+ Added test for creation of chunked datasets.
+
+./test/dsets.c
+./test/istore.c
+./test/tfile.c
+ Template changes.
+
+./test/th5p.c
+ Accommodated changes to H5P.
+
+Changes since 19971114
+----------------------
+
+./MANIFEST
+ Added/removed files
+
+./config/conclude.in
+ Added ability to clean other files. The extra files to remove
+ should be listed in a make variable with the same name as the
+ target. For instance, $(MOSTLYCLEAN) is a list of files in
+ addition to the normal files that should be removed when the
+ user types `make mostlyclean'.
+
+./html/Datasets.html NEW
+ Documents the dataset interface (H5D).
+
+./html/Datatypes.html NEW
+ Documents the data type interface (H5T).
+
+./html/H5.format.html
+./html/storage.html
+ Updated to reflect source changes, including the data type
+ message. The byte layout tables were also reformatted
+ slightly.
+
+./src/*.[ch]
+ Removed the interface initialization argument from
+ FUNC_ENTER() and made it a locally-defined preprocessor
+ symbol, INTERFACE_INIT.
+
+ Changed `offset' to `address' and `length' to `size' in
+ documentation so it's more consistent. `Offset' still appears
+ occassionally when it refers to a byte offset within some
+ other data structure.
+
+ Moved interface termination function prototypes from public
+ header files to .c files and made them static.
+
+./src/H5.c
+./src/H5public.h
+ Added H5init() because it's possible that the predefined data
+ types are not initialized. This happens only if the first
+ call to the hdf5 library passes a predefined data type symbol
+ as an argument. There should be some way to fix this...
+
+./src/H5A.c
+./src/H5Aprivate.h
+./src/H5Apublic.h
+ The free_func returns SUCCEED or FAIL, although the return
+ value is ignored by H5A. This is so we can use the various
+ H5*_close() functions to free things.
+
+ H5Ainc_ref() and H5Adec_ref() are no longer public. Many of
+ the other atom functions should also be made private, but I'll
+ save that for later...
+
+ Added additional template groups called H5_TEMPLATE_0 through
+ H5_TEMPLATE_7 that are used by the various template
+ subclasses.
+
+ Increased the number of bits used for atom groups to prevent
+ negative atoms.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+ Changed H5AC_new() to H5AC_create() to make names more consistent.
+
+./src/H5B.c
+./src/H5Bprivate.h
+ Changed H5B_new() to H5B_create() to make names more consistent.
+
+./src/H5C.c
+./src/H5Cprivate.h
+./src/H5Cpublic.h
+ Now supports multiple subclasses of templates, although it's
+ done with big switch statements. The default values for
+ templates are defined in the source file to which that
+ template belongs. This got rid of lots of needless
+ preprocessor constants.
+
+ Added H5Ccreate() to create a new template. Changed
+ H5C_release() to H5Cclose() to make the naming more
+ consistent.
+
+./src/H5D.c
+./src/H5Dprivate.h
+./src/H5Dpublic.h
+ Enhanced to use the new dataset interface, and uses the enhanced
+ data type and data space interfaces, which haven't been
+ completely implemented. The dataset interface doesn't handle
+ non-contiguous storage, compression, or data type and space
+ conversions yet.
+
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5Fpublic.h
+ Removed H5Fflush() since just calls H5F_flush(), which doesn't
+ do what the user would probably think it does, namely, flush
+ everything. It only flushes those things sitting in the H5AC
+ cache and the boot block.
+
+ Changed the `file_create_parms' field of H5F_low_t to just
+ `create_parms' since the `file' part is obvious.
+
+./src/H5Fistore.c
+ Added some support for external files. Mostly just in the
+ file format and not supported much by the library yet. I need
+ to finish some dataset functions first.
+
+ Changed H5F_istore_new() to H5F_istore_create() to make names
+ more uniform across packages.
+
+./src/H5Flow.c
+ Flushing a file causes the file to be physically extended to
+ the logical eof. This prevents H5F_open() from thinking a
+ file has been truncated. Most of the time the file will
+ already be that large, and when it isn't Unix will often just
+ allocate the final block anyway.
+
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gstab.c
+ Removed H5G_basename()
+
+ Removed (temporarily) data type information from symbol table
+ entries and renamed H5G_CACHED_SDATA to H5G_CACHED_SDSPACE to
+ reflect that it's a simple data space and has nothing to do
+ with raw data.
+
+ Changed H5G_node_new() to H5G_node_create() and H5G_stab_new()
+ to H5G_stab_create() to make names more uniform across
+ packages.
+
+ Fixed an undefined address bug that happens when H5G_node_debug()
+ program doesn't pass enough info to H5G_node_load().
+
+./src/H5H.c
+./src/H5Hprivate.h
+ Changed H5H_new() to H5H_create() to make the names more
+ uniform across packages.
+
+./src/H5M.c
+./src/H5Mprivate.h
+./src/H5Mpublic.h
+ Nulled all the create functions. Most of the other callbacks
+ are to public functions. Removed H5Mcreate().
+
+ Changed hobjtype_t to group_t since it has to be the same
+ thing anyway.
+
+./src/H5O.c
+./src/H5Oprivate.h
+./src/H5Osdim.c
+./src/H5Osdtyp.c
+ Changed H5O_SIM_DIM to H5O_SDSPACE (simple data space) since
+ `simple data space' is its official name, not `simple
+ dimensions'. Will eventually add H5O_CDSPACE for comples data
+ spaces. Changed _sim_dim_ to _dspace_.
+
+ Replaced H5O_SIM_DTYPE and the compound data type messages
+ with a single H5O_DTYPE message. Changed _sim_dtype_ to _dtype_.
+
+ Changed H5O_STD_STORE to H5O_CSTORE (contiguous storage) since
+ contiguous storage is not necessarily standard. Changed
+ _std_store_ to _cstore_ in H5Ocstore.c
+
+ Added the H5O_EFL (external file list) message.
+
+ Changed H5O_new() to H5O_create() to make names more uniform
+ across packages.
+
+./src/H5Oefl.c NEW
+ External file list message for specifying which non-hdf5 files
+ contain raw data for a dataset.
+
+./src/H5P.c
+./src/H5Pprivate.h
+./src/H5Ppublic.h
+ Renamed and moved data structures to make the names conform to
+ our naming scheme.
+
+./src/H5T.c
+./src/H5Tprivate.h
+./src/H5Tpublic.h
+./src/H5Tpkg.h NEW
+ Data structures redesigned to be more flexible. The interface
+ was redesigned to make it more regular and to make some names
+ more uniform across packages.
+
+./src/H5detect.c
+ Output was changed to produce a file that conforms to the hdf5
+ coding standard.
+
+./src/Makefile.in
+ Generates H5Tinit.c by running H5detect.
+
+./src/debug.c
+ Moved command argument processing.
+
+./test/Makefile.in
+ Added new tests.
+
+./test/dsets.c NEW
+ Tests datasets.
+
+./test/dspace.c NEW
+ Tests data spaces.
+
+./test/dtypes.c NEW
+ Tests data types.
+
+./test/istore.c
+./test/tfile.c
+./test/th5p.c
+./test/theap.c
+./test/tohdr.c
+ Changed to work with new function names.
+
+./test/testhdf5.c
+ Removed the data type and dataset tests since they're now in
+ their own files. They had to be rewritten because of extensive
+ changes to those interfaces.
+
+
+Changes since 19971106
+----------------------
+
+./MANIFEST
+./src/Makefile.in
+ Added H5Ffamily.c and H5Fsplit.c
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Gnode.c
+ Added `const' to sublass arguments.
+
+./src/H5F.c
+./src/H5Flow.c
+./src/H5Fsec2.c
+ Make sure file buffers get flushed during a call to
+ H5Fflush(). Check for overflow in address encoding and decoding.
+
+./src/H5Ffam.c
+./src/H5Fprivate.c
+./test/istore.c
+ Implementation of file families so 32-bit machines can access
+ 64-bit files.
+
+./src/H5Oprivate.h
+ Removed H5O_NO_ADDR constant.
+
+./config/freebsd2.2.1
+./config/linux
+ Added -DH5G_DEBUG and -DH5F_DEBUG to the list of debugging flags.
+
+./html/H5.format.html
+ Changed some <offset>-sized things to <length>-sized things.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5C.c
+./src/H5D.c
+./src/H5F.c
+./src/H5Fcore.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/H5G.c
+./src/H5Gent.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gshad.c
+./src/H5Gstab.c
+./src/H5H.c
+./src/H5Hprivate.h
+./src/H5MF.c
+./src/H5MFprivate.h
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Oistore.c
+./src/H5Oprivate.h
+./src/H5Ostab.c
+./src/H5Ostdst.c
+./src/H5pivate.h
+./src/debug.c
+./test/istore.c
+./test/theap.c
+./test/tohdr.c
+./test/tstab.c
+ Lots of changes caused by generalizing addresses. The haddr_t
+ is now a struct, so you can no longer perform arithmetic on
+ it. But since it's small, simple, and often used, storage is
+ allocated like with an integer. But we always pass them
+ around by reference. That is, when using an address in
+ another struct, allocate space:
+
+ struct my_struct {
+ char *name;
+ haddr_t address;
+ } x;
+
+ But when passing it to a function, pass by reference:
+
+ H5F_addr_print (stderr, &(x.address));
+
+ Addresses should be initialized with
+
+ H5F_addr_undef (&(x.address));
+
+ Functions for operating on addresses are in H5Flow.c and begin
+ with H5F_addr_... Functions never return haddr_t or haddr_t*;
+ they always pass them through arguments instead. A function
+ that returns an address through an argument does so with its
+ last argument and it is marked with `/*out*/'. Calls to such
+ functions also mark output-only arguments with `/*out*/'
+
+./src/H5Fsplit.c (new)
+ A two-member family where all meta data goes in the first
+ member and all raw data goes in the second member.
+
+./src/H5B.c
+./src/H5D.c
+./src/H5F.c
+./src/H5Ffamily.c
+./src/H5Fistore.c
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/H5Gnode.c
+./src/H5H.c
+./src/H5MF.c
+./src/H5MFprivate.h
+./src/H5O.c
+ Differentiate between meta data storage and raw data
+ storage. Provide a mechanism so that the file driver can
+ extend the file to allocate more memory.
+
+./src/H5E.c
+./src/H5Epublic.c
+ Added the error H5E_TRUNCATED to be reported when the file is
+ shorter than the length recorded in the boot block.
+
+./src/H5F.c
+ Added H5F_locate_signature() so we only do it in one place
+ now.
+
+./INSTALL
+./INSTALL_MAINT
+ Just a couple clarifications.
+
+./html/ExternalFiles.html
+./html/storage.html
+ Documents how external files work.
+
+./test/hyperslab.c
+./test/istore.c
+ Fixed printf's on 64-bit machines.
+
+./test/istore.c
+ Added ifdef's to test the split file driver.
+
+Changes since 19971024
+----------------------
+
+./config/linux
+./config/freebsd2.2.1
+ Rewritten to be more flexible.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5F.c
+./src/H5H.c
+./src/H5Gpkg.h
+./src/H5Gshad.c
+./src/H5O.c
+./test/istore.c
+./test/tstab.c
+ Accumulates cache statistics and displays the results on
+ stderr when the file is closed if it was opened with
+ H5F_ACC_DEBUG passed into H5F_open()
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Fistore.c
+./src/H5Gnode.c
+ Added more debugging which is turned on if H5B_DEBUG is
+ defined on the compile command (see config/linux).
+
+ Fixed a couple of bugs with left insertions which are used by
+ the indexed storage stuff.
+
+./src/H5Flow.c
+ Fixed a memory leak.
+
+./src/H5Fprivate.h
+ Fixed warnings about shifting more than size of object.
+
+./src/H5Fstdio.c
+ Fixed seek optimizations back to the way Quincey originally
+ had them.
+
+./src/H5V.c
+ Removed unused variables.
+
+
+Changes since 19971023
+----------------------
+
+./config/conclude.in
+ Test work when `.' isn't in $PATH.
+
+./src/H5F.c
+./src/H5Fcore.c NEW
+./src/H5Flow.c
+./src/H5Fprivate.h
+./src/H5Fsec2.c
+./src/H5Fstdio.c
+./src/Makefile.in
+./MANIFEST
+ Added the in-core temporary file driver as an exercise to
+ clean up some of the H5F package. It speeds up `testhdf5 -o
+ stab' by 25 percent! If you want to try it you'll need to
+ recompile everything with `-DH5F_LOW_DFLT=H5F_LOW_CORE'.
+ Don't expect testhdf5 to ever work since creating a file,
+ closing it, and then opening it for read-only will fail.
+
+Changes since 19971021
+----------------------
+
+./MANIFEST
+./src/Makefile.in
+ Added new files.
+
+./html/H5.apiv2.html
+ Added documentation for group stuff.
+
+./src/H5private.h
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5F.c
+./src/H5Flow.c NEW
+./src/H5Fprivate.h
+./src/H5Fsec2.c NEW
+./src/H5Fstdio.c NEW
+ Low-level file driver is selected at runtime.
+
+./src/H5Fprivate.h
+ Got rid of `shift >= sizeof operand' warnings on big endian
+ machines.
+
+./src/H5Fistore.c
+./test/istore.c
+ Still working on indexed storage...
+
+./src/H5H.c
+./src/H5Hprivate.h
+ Removed alignment constraints.
+
+Changes since 19970916
+----------------------
+
+./config/depend.in
+ Fixed backslashes in sed script because the H5Gnode.c
+ dependency info was disappearing. You'll have to rerun
+ config.status to rebuild the Makefiles unless you use gnu
+ make.
+
+./config/conclude.in
+ Also removes emacs backup files, TAGS, and svf backup files.
+
+./config/linux
+ Grouped gcc flags and added provisions for debugging vs. production.
+
+./html/H5.format.html
+ Updated messages 0x0008, 0x0009, and 0x000A.
+
+./html/storage.html
+ Documentation describing storage schemes.
+
+./src/Makefile.in
+./test/Makefile.in
+ New source files.
+
+./src/H5A.c
+./src/H5Apublic.h
+./src/H5C.c
+ Changed VOIDP to void* in a couple places.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./src/H5H.c
+./src/H5O.c
+ Removed `const' from some variables because H5G_node_found() wanted
+ to modify it's udata argument. Removing const there caused it
+ to cascade to these other locations.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5B.c
+./src/H5Gnode.c
+./src/H5Gstab.c
+./src/H5H.c
+./src/H5O.c
+ Added an extra argument to H5AC_find_f() and H5AC_protect(). This
+ arg gets passed to the load() method. Also added an extra
+ argument to the H5AC_find() macro.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Gnode.c
+ Extra argument passed to the sizeof_rkey() method.
+
+./src/H5Fprivate.c
+./src/H5Fistore.c (new)
+ Added indexed I/O operations.
+
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gprivate.h
+ Beginning to add H5G_open/close and related bug fixes.
+
+./src/H5Oprivate.h
+./src/H5Oistore.c (new)
+ Added the H5O_ISTORE messsage (0x0008) for indexed storage of
+ objects.
+
+./src/H5private.h
+ Added extra braces around both sides of the FUNC_ENTER() and
+ FUNC_LEAVE() macros so FUNC_ENTER() can appear before
+ declarations or after executable statements the second case is
+ used by H5G_namei() to initialize output arguments to sane
+ values before FUNC_ENTER() might return failure.
+
+ int f ()
+ {
+ int decl1;
+ printf ("This happens before FUNC_ENTER()\n");
+ FUNC_ENTER (...);
+ int another_declaration;
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Gnode.c
+ Extra arguments for key encoding and decoding.
+
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5Fistore.c
+./src/H5Oistore.c
+./src/H5Oprivate.h
+ Indexed, chunked, sparse storage (not ready for general consumption
+ yet).
+
+./src/H5V.c (new)
+./src/H5Vprivate.h (new)
+./test/hyperslab.c (new)
+ Vector, array, and hyperslab functions.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Fistore.c
+./src/H5Gnode.c
+./src/H5V.c
+./src/H5Vprivate.h
+./test/hyperslab.c
+ Added functionality for indexed storage.
+
+./src/H5F.c
+ Fixed problems with seek optimizing. Recommend we disable it
+ until we can implement it in the file/address class since all
+ of HDF5 must be aware of it.
+
+./src/H5O.c
+ Fixed comeent speling erorr :-)
+
+./MANIFEST
+ Added new files.
+
+./config/conclude.in
+ Added the word `Testing' to the test cases. So if a test
+ program is called hyperslab then the make output will contain
+ the line `Testing hyperslab'.
+
+./config/linux
+ The default file I/O library is Posix section 2 on my linux
+ machine so I can do some I/O performance testing.
+
+./src/H5C.c
+./src/H5Cprivate.h
+./src/H5Cpublic.h
+ Added ability to set size of indexed-storage B-tree.
+
+./src/H5D.c
+./src/H5E.c
+./src/H5Epublic.h
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gpkg.h
+./src/H5Gprivate.h
+./src/H5Gpublic.h
+./src/H5Gshad.c
+./src/H5Gstab.c
+./test/stab.c
+ Changed `directory' to `group' in numerous places.
+
+./src/H5private.h
+ The FILELIB constant can be set on the compile command-line.
+
+./src/istore.c NEW
+ Tests for indexed storage.
+
+
+Changes since 19970915
+----------------------
+
+./src/H5Apublic.h
+ Removed H5_OID.
+
+./src/H5D.c
+ Fixed a few things to work better with symbol tables. Combined
+ the H5D_oid_t and H5D_dataset_t structs.
+
+./src/H5Dprivate.c
+ Combined the H5D_oid_t and H5D_dataset_t types.
+
+./src/H5M.c
+ Removed the callback list for H5_OID.
+
+./test/th5d.c
+ Changed the H5Mfind_name() return value and removed the call
+ to H5Maccess().
+
+./test/th5p.c
+ Removed unused variables.
+
+Changes since ????????
+----------------------
+./src/H5G.c
+ Fixed an error in H5G_namei() that ignored the object name
+ when the object was the only thing in a file.
+
+./test/th5d.c
+ Changed and object name for a read request.
+
+Changes since 19970813
+----------------------
+
+./html/H5.format.html
+ Changed the format of the boot block to get rid of the B-tree
+ size and replace it with K values for the various types of
+ B-trees.
+
+./src/H5B.c
+./src/H5Bprivate.h
+ The B-tree K value comes from a combination of the B-tree
+ subclass and the file.
+
+./src/H5C.c
+./src/H5F.c
+./src/hdf5lims.h
+./src/hdf5type.h
+ Removed the B-tree size parameter and added an array of B-tree
+ K values. Also added symbol table node K value.
+
+./src/H5Eprivate.h
+./src/H5Eproto.h
+ Added H5E_LINK for errors involving link counts.
+
+./src/H5G.c
+ Inserting something into a directory with H5G_insert()
+ increments the link count in the object header. The root
+ object should always have a link count of at least 1.
+
+./src/H5Gnode.c
+./src/H5Gprivate.h
+ The symbol table node K value comes from the file instead of
+ being a constant.
+
+./src/H5Olink.c
+ Added an assert(), fixed a hard-link bug.
+
+./test/tfile.c
+ Removed tests for H5_BTREEPAGE_SIZE and added tests for
+ H5_SYM_LEAF_K and H5_SYM_INTERN_K.
+
+./test/tstab.c
+ Removed call to H5O_link() since it's handled by H5G_insert().
+
+
+
+Changes since 19970812
+----------------------
+
+Changes since 19970811
+----------------------
+
+./src/H5AC.c
+ We sort the cache before a complete flush because it might be
+ more efficient to write things back to disk in order of
+ increasing address. If you want the old way then undef the
+ SORT_BY_ADDR constant at the top of H5AC.c I haven't
+ determined which systems and I/O libraries this helps or
+ hurts. (This is currently off because of a bug I need to track
+ down that causes qsort() to run for a really long time).
+
+./src/H5B.c
+ Fixed a couple more bugs.
+
+./src/H5Eprivate.h
+./src/H5Eproto.h
+ Added major H5E_DIRECTORY and minor H5E_EXISTS, H5E_COMPLEN.
+
+./src/H5G.c
+ Added directory-aware functions.
+
+ The heap and B-tree are created when a directory is created
+ instead of when the first symbol is added. This simplifies
+ symbol table entry caching for the directory since the cached
+ value never changes now.
+
+./src/H5Gnode.c
+./src/H5Gprivate.h
+ Fine tuned the B-tree K values for symbol tables assuming an
+ average number of symbols is about 100 per directory. The
+ tuning minimizes storage space.
+
+ Fixed a return value in H5G_node_cmp().
+
+./src/H5H.c
+./src/H5Hprivate.h
+ Moved some macros the the header file.
+
+./src/H5O.c
+./src/H5Ocont.c
+./src/H5Onull.c
+./src/H5Ostab.c
+ Changed the arguments for the decode method for messages. The
+ second argument is the raw message size.
+
+ Added a class variable for native message size.
+
+ Added H5O_reset() to free memory used internally by a message.
+
+./src/H5Oname.c NEW
+./src/H5Oprivate.h
+./src/Makefile
+ The object name message.
+
+./src/hdf5port.h
+ Added defn for HDstrdup()
+
+./test/tfile.h
+ Removed unused local variables.
+
+./test/tstab.c
+ Now uses directory-aware functions which in turn call the
+ unaware functions.
+
+Changes since 19970808
+----------------------
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5G.c
+ H5B_new() only takes two arguments.
+
+./src/H5C.c
+ Fixed initializer for default_file_create to be the same order
+ as it's definition.
+
+./src/H5D.c
+ Changed commented-out code to #if 0/#endif. #if'd out a
+ variable that was unused because of #if'd out code.
+
+./src/H5Dproto.c
+ Added a prototype for H5Dwrite().
+
+./src/H5F.c
+ Changed parentheses to fix precedence problems from:
+
+ flags & (~H5AC_OVERWRITE) != 0
+ to
+ (flags & ~H5AC_OVERWRITE) != 0
+
+./src/H5H.c
+ Heap reallocation doubles the heap size instead of tripling it.
+
+./src/H5O.c
+ Got rid of a statement with no effect.
+
+./src/hdf5port.h
+ Indented a few #defines. Added a defn for MAX3().
+
+
+Changes since 19970807
+----------------------
+
+./src/H5AC.c
+ Renamed H5AC_find() to H5AC_find_f() which is invoked from the
+ H5AC_find() macro.
+
+ Changed HASH() to H5AC_HASH().
+
+./src/H5ACprivate.h
+ Increased the number of cache slots from 1033 to 10330 to see
+ how it affects performance. This should probably be
+ changeable on a per-file basis.
+
+./src/H5B.c
+ Fixed some bugs now that symbol tables are actually using the
+ stuff.
+
+ Improved debugging a little.
+
+ Fixed uninitialized memory appearing in the file.
+
+./src/H5D.c
+ Changed a FUNC_ENTER() argument from H5Dset_info to H5Dwrite.
+
+./src/H5F.c
+ Plugged a memory leak in H5F_dest().
+
+./src/H5G.c
+./src/H5Gprivate.h
+ Many of these functions take a symbol table entry which
+ describes the symbol table rather than just the symbol table
+ address.
+
+ Moved some functions to make room for the ones that understand
+ directory names:
+ H5G_new() -> H5G_stab_new()
+ H5G_find() -> H5G_stab_find()
+ H5G_modify() -> H5G_stab_modify()
+ H5G_insert() -> H5G_stab_insert()
+ H5G_list() -> H5G_stab_list()
+
+./src/H5Gnode.c
+ Added more assertions.
+
+ Zero new memory so junk doesn't appear in the data file. This
+ is a problem when one tries to declassify a classified data
+ file.
+
+ H5G_node_debug() can take an extra argument which is the
+ address of the heap for the symbol table. If supplied, the
+ symbol names are printed along with the heap offsets.
+
+./src/H5H.c
+./src/H5Hprivate.h
+ Fixed a bug with the free blocks by forcing things to align on
+ even boundaries. It's still possible to lose heap memory if
+ the hole is smaller than the free list header. The
+ alternative is to align heap objects on 12 or 20 byte
+ boundaries, but this tends to waste to much space.
+
+ Zero new memory like with H5Gnode.c.
+
+ Fixed a "mispeling" of NDEBUG.
+
+./src/H5Ocont.c
+./src/H5Onull.c
+ Added the pablo mask defn.
+
+./src/H5Ostab.c
+ Added the pablo mask defn.
+
+ Fixed a read from uninitialized memory.
+
+./src/H5Oprivate.h
+ Tuned some parameters to see how they affect performance.
+
+./src/debug.c
+ An optional third argument can be supplied which is the
+ address of a heap to use to display names in a symbol table.
+
+./src/hdf5pabl.h
+ Changed `int' to `intn'.
+
+./src/hdf5plat.h
+ Added defn for int64 and uint64 on irix. It seems to be
+ wrong, but at least things compile and run. This file will go
+ away with autoconf anyway.
+
+./test/testhdf5.c
+./test/Makefile
+ Added tstab.c
+
+./test/testhdf5.h
+ Added tstab.c
+
+ Fixed bugs with CHECK_I() and CHECK_PTR().
+
+
+Changes since 19970804
+----------------------
+
+./html/H5.format.html
+ Added documentation for the symbol table message, 0x0011.
+
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5ACproto.h
+./src/H5Bproto.h
+./src/H5Gproto.h
+./src/H5Hproto.h
+./src/H5MFprivate.h
+./src/H5MFproto.h
+./src/H5MM.c
+./src/H5MMprivate.h
+./src/H5MMproto.h
+ Changed my e-mail address.
+
+./src/H5O.c NEW
+./src/H5Onull.c NEW
+./src/H5Ocont. NEW
+./src/H5Ostab.c NEW
+ New functions for dealing with object headers. The H5O.c is
+ the generic stuff, and each particular message has a source
+ file for the specific stuff.
+
+ Use ./src/H5Ostab.c as a model for implementing other messages.
+
+./src/Makefile
+./src/test/Makefile
+ Added new files
+
+./src/debug.c
+ Added debugging calls for object headers.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Gnode.c
+./src/H5MF.c
+ Changed my e-mail address.
+
+ Improved error handling.
+
+./src/H5Eprivate.h
+./src/H5Eproto.h
+ Added more error symbols
+
+./src/H5F.c
+ Changed my e-mail address.
+
+ Used macros for sizeof offsets and lengths.
+
+ Added the interface initialization function to
+ H5F_block_read() and H5F_block_write().
+
+ Updated H5F_debug()
+
+./src/H5Fprivate.h
+ Got rid of H5F_symbol_table_size(). Use H5G_SIZEOF_ENTRY()
+ instead.
+
+ Reformatted H5F_decode_offset() for readability.
+
+./src/H5G.c
+ Changed my e-mail address.
+
+ Improved error handling.
+
+ Replaced not_implemented_yet__*() with real functions from
+ H5O.
+
+./src/H5Gprivate.h
+ Changed `symtab' to `stab' to be consistent with other stuff.
+
+./src/H5H.c
+./src/H5Hprivate.h
+ Changed my e-mail address.
+
+ Improved error handling.
+
+ Added an extra argument to H5H_new() to indicate whether you
+ want a global heap or a local heap.
+
+./src/hdf5gen.h
+ Added NELMTS()
+
+ Fixed FUNC_ENTER()
+
+ Rewrote FUNC_LEAVE() in terms of HRETURN().
+
+./src/hdf5meta.h
+ Added `const' to the decode macros.
+
+./src/hdf5pabl.h
+ Added PABLO_SAVE()
+
+./test/testhdf5.c
+./test/testhdf5.h
+ Added calls for object header testing.
+
+./test/theap.c
+ Turned off some output.
+
+Changes since 19970804
+----------------------
+
+./html/H5.format.html
+ Indented the first few hundred lines as I cleaned some stuff
+ up.
+
+./src/H5.c
+ Added an `_g' to the end of library_initialize,
+ thread_initialize, and interface_initialize to abide by the
+ naming convention. Removed setting of these variables from
+ the various initialization functions since it happens in the
+ FUNC_ENTER() macro now.
+
+ Defined PABLO_MASK.
+
+ Removed `CONSTR(FUNC,"function_name")' everywhere since it's
+ handled by the various FUNC_ENTER macros.
+
+ Fixed calls to FUNC_ENTER(), FUNC_LEAVE(), and HRETURN_ERROR()
+ so they don't need so many arguments.
+
+ Changed PABLO_TRACE_ON() to FUNC_ENTER() since there is no
+ longer any danger of infinite recursion.
+
+ H5_term_library() now returns SUCCEED/FAIL and uses
+ FUNC_ENTER/FUNC_EXIT macros.
+
+./src/H5A.c
+ Changes similar to H5.c.
+
+ Most (all?) of the functions called PABLO_TRACE_ON() and the
+ package doesn't have an interface initializer that I can see,
+ so the second argument to FUNC_ENTER() is always NULL.
+
+ H5A_release_atom_node() returns SUCCEED/FAIL.
+
+./src/H5AC.c
+ Added error handling.
+
+ Arguments for internal functions are checked with assert().
+
+./src/H5C.c
+ Changes similar to H5.c
+
+ Fixed the FUNC variable in H5C_get_default_atom() since it was
+ initialized to the wrong name.
+
+./src/H5D.c
+ Changes similar to H5.c
+
+./src/H5E.c
+ Changes similar to H5.c
+
+ Changed the pablo mask from H5_mask to H5E_mask in
+ H5E_init_interface().
+
+ H5Eclear(), H5E_store(), and H5Epush() return SUCCEED/FAIL.
+ Changed PABLO_TRACE_OFF() calls to FUNC_LEAVE() calls in the
+ same functions.
+
+./src/H5Eprivate.h
+./src/H5Eproto.h
+ Added additional error symbols for the H5AC package.
+
+ Changed prototypes for H5Eclear() and H5Epush().
+
+ Changes to HRETURN_ERROR() and HGOTO_ERROR() to reduce the
+ number of arguments.
+
+./src/H5F.c
+ Changes similr to H5.c
+
+ Changed the pablo mask from H5_mask to H5F_mask for the
+ FUNC_LEAVE() call of H5F_init_interface().
+
+ Added FUNC_ENTER() and FUNC_LEAVE() calls to some functions
+ that didn't have them.
+
+./src/H5M.c
+ Changes similar to H5.c
+
+ Fixed the FUNC variable in H5M_init_interface() since it was
+ initialized to the wrong name.
+
+./src/H5P.c
+ Changes similar to H5.c
+
+./src/H5T.c
+ Changes similar to H5.c
+
+./src/hdf5gen.c
+ Changes to FUNC_ENTER() and FUNC_EXIT() to reduce the number
+ of arguments. FUNC_ENTER() is now safe from infinite
+ recursion since it updates the library_initialize_g,
+ thread_initialize_g, or interface_initialize_g variables
+ before calling the appropriate initialize function.
+
+
+Changes since 19970731
+----------------------
+
+./src/H5AC.c
+ Fails sooner if the type of object requested doesn't match
+ the type of object cached.
+
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Fprivate.h
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./src/H5H.c
+./src/H5Hprivate.h
+ Changed lots of `H5*_HDR_SIZE' macros to `H5*_SIZEOF_HDR' to make
+ things more consistent.
+
+ Added H5*_SIZEOF_MAGIC macros.
+
+ Added debugging functions to some of the packages.
+
+./src/H5F.c
+ Fixed a bug with reading past the end of a buffer.
+
+./src/H5Tproto.h
+ Added prototypes for H5Tadd_field() and H5Tget_fields().
+
+./src/debug.c
+ Low-level file debugging program.
+
+./src/Makefile
+ Builds `debug' as one of the main targets. The target is
+ called `debug_hdf5' so it doesn't conflict with the `debug'
+ target that was already there. But the executable is called
+ `debug'.
+
+
+
+
+Changes since 19970718
+----------------------
+
+./src/H5B.c
+./src/H5G.c
+./src/H5Gnode.c
+./src/H5H.c
+ Changed SIZEOF_OFFSET and SIZEOF_SIZE to H5F_SIZEOF_OFFSET and
+ H5F_SIZEOF_SIZE. Modified files to use these instead of
+ accessing the hdf5_file_t struct directly.
+
+ Changed address return values from H5B to -1 for error.
+
+ Changed off_t to haddr_t for anything that's a file address.
+
+
+Changes since 19970718
+----------------------
+
+./src/GNUmakefile
+./src/Makefile
+ Added H5G.c
+
+./src/H5F.c
+ Moved creation and destruction of hdf5_file_t structs into
+ H5F_new() and H5F_dest() since these tasks are becoming more
+ and more complicated.
+
+./src/H5Fprivate.h
+./src/H5Gprivate.h
+ Moved the h5_symbol_type_t and h5_symentry_t typedefs to
+ H5Gprivate.h and called them H5G_type_t and H5G_entry_t.
+
+./src/H5Gnode.c
+ Now uses H5G_entry_t in a way that makes it easy to change the
+ definition of that structure.
+
+./src/H5H.c
+ Changed the size hint code so that if you don't give a size
+ hint, it's less likely that 8 bytes of the file are
+ wasted. Also fixed some debugging code so it doesn't dump
+ core.
+
+./src/H5MF.c
+ Freeing something of zero length, or freeing something with a
+ file address of zero or negative, is a no-op.
+
+
+Changes since 19970716
+----------------------
+
+./html/H5.format.html
+ Added documentation for the small heap object with some notes
+ about using B-link trees for large heaps. Also updated the
+ symbol table stuff to reflect recent changes to the source
+ code.
+
+./src/GNUmakefile
+./src/Makefile
+ Added small heaps.
+
+./src/H5.c
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5ACproto.h
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Bproto.h
+./src/H5Cprivate.h
+./src/H5F.c
+./src/H5Fprivate.h
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./src/H5Gproto.h
+./src/H5MFprivate.h
+./src/H5MFproto.h
+./src/H5MMprivate.h
+./src/H5MMproto.h
+./src/H5private.h
+ Fixed include files. The H5*.c file contains constants,
+ typedefs, and prototypes for things with file scope. The
+ H5*private.h file contains things with library scope. The
+ H5*proto.h file contains things with API scope.
+
+ The H5*private.h file should include H5*proto.h. The H5*.c
+ file should include any H5*private.h files it needs.
+
+./src/H5MF.c
+ Implemented H5MF_alloc() and a stub for H5MF_free().
+
+./src/H5MM.c
+ Added `const' to an argument.
+
+./test/Makefile
+./test/testhdf5.c
+./test/testhdf5.h
+./test/theap.c
+ Added heap tests.
+
+
+Changes since 19970713
+----------------------
+
+./src/H5.c
+./src/H5AC.c
+./src/H5ACprivate.h
+./src/H5ACproto.h
+./src/H5B.c
+./src/H5Bprivate.h
+./src/H5Bproto.h
+ No longer need to initialize H5AC or H5B at run time.
+
+./src/H5F.c
+ Second argument to H5AC_flush changed.
+
+./src/H5MM.c
+ uses H5MM_xstrdup
+
+./src/Makefile
+ Added H5Gnode.o
+
+./src/hdf5port.h
+ Added HDmemmove
+
+./src/H5Gnode.c
+./src/H5Gprivate.h
+./src/H5Gproto.h
+ Symbol table stuff. The H5Gnode.c file contains functions for
+ dealing with symbol table nodes. This code isn't complete
+ yet, so ignore the warnings for implicit function declarations
+ and casting of integer to pointer.
+
+
+Changes since 19970710
+----------------------
+
+./src/Makefile
+ Added new source files.
+
+./src/hdf5file.c
+./src/h5proto.h
+ Added H5F_block_read() and H5F_block_write() convenience functions
+ that seek and then read/write.
+
+./src/hdf5.c
+ Added includes for cache and B-link trees.
+
+./src/hdf5.h
+ Removed include for cache.
+
+./src/hdf5file.h
+ Added the H5FPdecode_offset macro (and then removed it :-)
+
+./src/H5AC NEW
+./src/H5ACprivate.h NEW
+./src/H5ACproto.h NEW
+ Cache files. H5AC.c was renamed from hdf5cache.c and
+ H5ACprivate.h was renamed from hdf5cache.h.
+
+./src/H5B.c NEW
+./src/H5Bprivate.c NEW
+./src/H5Bproto.c NEW
+ B-link tree functions. Not tested yet since we don't have
+ anything that gets pointed to by a B-tree.
+
+./src/H5MF.c NEW
+./src/H5MFprivate.h NEW
+./src/H5MFproto.h NEW
+ File memory management functions needed by B-link trees but
+ not fully implemented.
+
+./src/H5MM.c NEW
+./src/H5MMprivate.h NEW
+./src/H5MMproto.h NEW
+ Core memory management functions same as the HD... macros but
+ assert that memory was allocated. Also fixes problems with
+ some versions of realloc().
+
+Changes since 19970709
+----------------------
+
+./src/hdf5cache.c NEW
+./src/hdf5cache.h NEW
+ Implements a memory cache for objects that exist in the HDF5
+ file. All exported symbols begin with `H5AC_'.
+
+./src/hdf5file.c
+ The cache is created and destroyed when the hdf5 file structure
+ is created and destroyed. The cache is flushed when H5Fclose()
+ is called and the reference count is zero.
+
+./src/hdf5file.h
+ The hdf5_file_t struct has a cache.
+
+./src/hdf5.h
+ Includes hdf5cache.h
+
+./src/h5proto.h
+ Added function prototypes from hdf5cache.c
+
+./src/Makefile
+ Added hdf5cache.o as a library object.