Commit Graph

49 Commits

Author SHA1 Message Date
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
Update
Description:
    Changed

        #include <hdf_file.h>

    construct to

        #include "hdf_file.h"

    so that the GNU compiler can more easily pick up the dependencies
    which it places in the .depend and Dependencies files. Also
    regenerated the Dependencies to go along with this.
Platforms tested:
    Linux
2001-04-05 12:29:14 -05:00
Albert Cheng
cb876a28a1 [svn-r3677] Purpose:
Bug fix (sort of)
Description:
    The RCSID string in H5public.h was causing the C++ code problem as it
    was included multiple times and C++ did not like multiple definitions
    of the same static variable.
Solution:
    Since we don't really make use of the RCSID strings as we have not
    installed it in all source files, we decided to remove it.
Platforms tested:
    eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
2001-03-20 16:32:24 -05:00
Quincey Koziol
35bc545296 [svn-r3252] Purpose:
Code cleanup.
Description:
    Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
    extra warnings.  Including a few show-stoppers for compression on IRIX
    machines.
Solution:
    Changed lots of variables' types to more sensible and consistent types,
    more range-checking, more variable typecasts, etc.
Platforms tested:
    FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
2001-01-09 16:22:30 -05:00
Quincey Koziol
74d5c6b757 [svn-r3065] Purpose:
Code cleanup
Description:
    Remove some warnings...
Platforms tested:
    FreeBSD 4.2 (hawkwind) & IRIX64 6.5 (modi4)
2000-12-02 10:11:57 -05:00
Quincey Koziol
2011215517 [svn-r2689] Purpose:
Bug fix.
Description:
    Previously, it has been possible to dereference deleted objects in a file.
    Obviously, this is incorrect and could cause all sorts of problems if the
    object being dereferenced had been partially over-written with other
    information.  - This is documented in Bug #493.
Solution:
    Check the link count for objects being dereferenced and don't allow any
    objects with link counts of zero to be dereferenced.

    This fixes bug #493.

Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-10-17 15:46:57 -05:00
Quincey Koziol
64b8f7fd73 [svn-r2657]
Purpose:
    Parallel Bug Fixes
Description:
    Was out of sync with header file re-arrangements I checked in last night.

Solution:
    Fixed to use new header files, etc.
Platforms tested:
	O2K (modi4)
2000-10-10 15:55:54 -05:00
Quincey Koziol
ba28c64ba7 [svn-r2652] Purpose:
Maintainance & performance enhancements
Description:
    Re-arranged header files to protect private symbols better.

    Changed optimized regular hyperslab I/O to compute the offsets more
    efficiently from previous method of using matrix operations.

    Added sequential I/O operations at a more abstract level (at the same level
    as H5F_arr_read/write), to support the optimized hyperslab I/O.

Platforms tested:
    Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
2000-10-10 02:43:38 -05:00
Robb Matzke
cc89b8a605 [svn-r1572] 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.
1999-08-17 14:12:59 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] 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.
1999-08-10 15:21:32 -05:00
Robb Matzke
e4834c43ce [svn-r1548] 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.
1999-07-28 13:25:43 -05:00
Quincey Koziol
21403c5ec4 [svn-r1385] Updated H5Rdereference, H5Rget_object_type and H5Rget_region to accept a
location ID (i.e. a file or group ID) as well as the dataset ID.  This should
allow Dave to get the palettes stored in the file correctly and also enable
Bob and/or Bruce's indexing stuff.  This change should be folded into the
documentation for these three functions for the release.
    Also, I fixed a number of bugs in the hyperslab and point selection
iterators for H5Diterate and they are working correctly now.
1999-06-25 14:36:54 -05:00
Quincey Koziol
a556665ad1 [svn-r1332] Fixes to get the VL datatypes working. The only function currently working
is H5Tvlen_create().
1999-06-11 17:04:42 -05:00
Robb Matzke
b98fcbf592 [svn-r1306] 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.
1999-06-07 10:05:02 -05:00
Robb Matzke
2dc738a321 [svn-r1224] 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.
1999-04-27 09:47:54 -05:00
Robb Matzke
d6823ceb08 [svn-r1217] 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.

C
1999-04-26 09:43:53 -05:00
Robb Matzke
43c356f93d [svn-r1184] 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.
1999-04-15 14:57:50 -05:00
Robb Matzke
f003dead4d [svn-r1169] ./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 iteractions 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.
1999-03-30 06:38:34 -05:00
Robb Matzke
b93c9e2cf9 [svn-r1151] 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.
1999-03-19 15:09:50 -05:00
Quincey Koziol
d8d31596b4 [svn-r1146] Added support for object references to named datatypes. 1999-03-17 20:30:03 -05:00
Quincey Koziol
b0138a0cb0 [svn-r1144] Added support for object references to groups. 1999-03-17 19:07:50 -05:00
Quincey Koziol
7795177df7 [svn-r1139] Added code for H5Rget_object_type 1999-03-12 15:05:43 -05:00
Quincey Koziol
fbef4e61ed [svn-r1135] Expanded API for reading lists blocks/points to allow for just a portion of
the block/point-list to be read at a time.
1999-03-11 16:03:30 -05:00
Quincey Koziol
ae782bd7ac [svn-r1132] Dataset region references are now finished and working correctly. Also, there
are five new API functions for querying selections:
    H5Sget_select_hyper_nblocks     - retrieves the number of hyperslab blocks
                                        in current hyperslab selection for a
                                        dataspace
    H5Sget_select_elem_npoints      - retrieves the number of element points
                                        in current element selection for a
                                        dataspace
    H5Sget_select_hyper_blocklist   - retrieves a list of the hyperslab blocks
                                        in current hyperslab selection for a
                                        dataspace
    H5Sget_select_elem_pointlist    - retrieves a list of the element points
                                        in current element selection for a
                                        dataspace
    H5Sget_select_bounds            - retrieves a n-dimensional bounding box
                                        containing current selection.
1999-03-10 18:50:03 -05:00
Robb Matzke
17535fbc17 [svn-r1101] 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.
1999-02-25 10:40:27 -05:00
Robb Matzke
e2e5476fa5 [svn-r1087] 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.
1999-02-20 11:18:51 -05:00
Quincey Koziol
6d19719526 [svn-r956] Fixes for dataset region code. 1998-11-30 14:43:54 -05:00
Quincey Koziol
5d0938aba6 [svn-r947] Lots of patches to enable dataset region references. The testing for these
need to be finished and checked in still.
1998-11-24 19:29:09 -05:00
Robb Matzke
7488c6366e [svn-r936] 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.
1998-11-20 22:36:51 -05:00
Robb Matzke
8bb8649482 [svn-r925] 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 ;-)
1998-11-18 13:40:09 -05:00
Quincey Koziol
8f810273bb [svn-r904] Fixed bug in H5dont_atexit.
Plugged a memory leak in the union of hyperslabs code.

Checkpointing dataset region references, which are working, but not stored in
file yet.
1998-11-12 19:28:29 -05:00
Quincey Koziol
5834d25997 [svn-r816] Fixed bug with references on certain platforms. 1998-10-28 13:51:20 -05:00
Quincey Koziol
69d3cf72b3 [svn-r797] Changed comments from returning "SUCCEED/FAIL" to "non-negative/negative"
and also fixed a few more explicit checks against FAIL.
1998-10-26 16:18:54 -05:00
Robb Matzke
f7545efc76 [svn-r795] 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.
1998-10-26 14:55:54 -05:00
Quincey Koziol
808847e0a1 [svn-r791] Internal API tweaks to H5D_open_oid 1998-10-26 12:23:29 -05:00
Quincey Koziol
5ff842ebef [svn-r790] Updated parameters for H5R API and changed constants from pointers to references 1998-10-26 12:14:00 -05:00
Robb Matzke
db9525c2a3 [svn-r789] 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.
1998-10-26 09:49:52 -05:00
Quincey Koziol
671ed57123 [svn-r776] Fixed references, object references should be working now. 1998-10-22 17:49:16 -05:00
Quincey Koziol
cd4af9da24 [svn-r766] Checkpointing the reference code. 1998-10-19 17:25:03 -05:00
Robb Matzke
cfb2a264f1 [svn-r761] 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.
1998-10-14 14:35:08 -05:00
Quincey Koziol
5389806ce8 [svn-r757] Added code for object references. 1998-10-13 16:28:53 -05:00
Quincey Koziol
c4f1dfcf17 [svn-r743] Added H5I_type_t type to H5_trace and added H5Iget_type function call. Also
checked in H5R skeleton files.
1998-10-07 16:04:51 -05:00
Quincey Koziol
2c4af336d3 [svn-r739] Switched ragged array "H5R" API to "H5RA" to make room for the reference API. 1998-10-06 16:37:57 -05:00
Quincey Koziol
9d11032a98 [svn-r737] Changed H5I groups to have a H5I_ prefix before them, to better align with the
library.
1998-10-05 18:41:30 -05:00
Quincey Koziol
97f56b57a0 [svn-r654] Fixed last bug (hah! ;-) for beta release, changed H5Gget_stat to H5Gget_objinfo
and renamed internal functions to match up with the renamed API functions.
1998-09-02 16:16:24 -05:00
Robb Matzke
1e38c13785 [svn-r633] 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.
1998-08-31 08:46:47 -05:00
Robb Matzke
1b1be9918c [svn-r627] 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.
1998-08-28 10:24:12 -05:00
Robb Matzke
eb5e01d37c [svn-r620] 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.
1998-08-27 11:48:50 -05:00