diff options
-rw-r--r-- | Changes | 10682 |
1 files changed, 0 insertions, 10682 deletions
diff --git a/Changes b/Changes deleted file mode 100644 index b64fd7a..0000000 --- a/Changes +++ /dev/null @@ -1,10682 +0,0 @@ --*- outline -*- -============================================================================== -* In Progress - - -Changes since 19991101 ----------------------- - -Changes since 19991019 ----------------------- - -./MANIFEST -./configure.in -./configure [REGENERATED] - 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. |