173 Commits

Author SHA1 Message Date
Robb Matzke
93e5190bb1 [svn-r603] 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.
1998-08-18 18:19:27 -05:00
Robb Matzke
d27a31461c [svn-r601] 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.
1998-08-18 12:14:43 -05:00
Robb Matzke
25b825965e [svn-r594] 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.
1998-08-14 16:05:16 -05:00
Robb Matzke
678eb19d71 [svn-r588] 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.
1998-08-13 15:17:47 -05:00
Robb Matzke
ed85f64ee7 [svn-r585] Fixed Step 11 but didn't turn it on yet because of a failed assertion. 1998-08-10 14:54:35 -05:00
Robb Matzke
9754e9373b [svn-r584] 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
1998-08-10 13:15:14 -05:00
Robb Matzke
acd04a1aa6 [svn-r579] 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.
1998-08-06 16:32:33 -05:00
Robb Matzke
002b1494b7 [svn-r569] 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().
1998-08-05 17:22:59 -05:00
Quincey Koziol
48f8e55c0a [svn-r566] Fixed offset code [finally :-/ ] for selections. 1998-08-03 19:30:35 -05:00
Robb Matzke
c7b935a9ac [svn-r547] 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.
1998-07-30 11:38:21 -05:00
Robb Matzke
a34534c9b8 [svn-r546] 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.
1998-07-29 11:43:59 -05:00
Quincey Koziol
14ea12a6ba [svn-r545] Added test for H5Sselect_none call. 1998-07-24 15:46:31 -05:00
Robb Matzke
78c70d7be5 [svn-r541] 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)
1998-07-24 09:28:32 -05:00
Quincey Koziol
181a423f85 [svn-r540] Added H5Sselect_all test code 1998-07-23 18:29:54 -05:00
Robb Matzke
c8d2f1e17a [svn-r537] 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,
	    ...
1998-07-23 16:19:17 -05:00
Quincey Koziol
8e9136b837 [svn-r533] Added tests for H5Sextent_class (renamed H5Sget_class) 1998-07-23 14:03:01 -05:00
Quincey Koziol
d4088f3610 [svn-r531] Added test code for hyperslab and point selection copying. 1998-07-22 17:11:42 -05:00
Robb Matzke
b56f011989 [svn-r526] 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.
1998-07-22 08:51:51 -05:00
Quincey Koziol
0aa506cc6c [svn-r525] Corrected type of 'start' array for hyperslab selections. 1998-07-21 15:46:16 -05:00
Robb Matzke
bdce66f69a [svn-r523] 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.
1998-07-21 11:11:56 -05:00
Robb Matzke
2423411a64 [svn-r522] 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.
1998-07-20 16:01:32 -05:00
Quincey Koziol
d45c20d713 [svn-r520] Added test for strided hyperslabs. 1998-07-20 15:14:55 -05:00
Robb Matzke
34595bac3b [svn-r518] 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.
1998-07-20 12:58:37 -05:00
Robb Matzke
365dac33e3 [svn-r515] 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.
1998-07-20 08:45:25 -05:00
Robb Matzke
79d65106ab [svn-r514] 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.
1998-07-17 14:03:43 -05:00
Quincey Koziol
6bea093682 [svn-r513] Removed debugging statement. 1998-07-15 16:24:31 -05:00
Quincey Koziol
c40c53d0af [svn-r512] Tracked down some problems with the number of dimensions used for point/element
selections and also fixed part of the problem with scalar dataspaces being
written/read from the file.
1998-07-15 16:23:25 -05:00
Robb Matzke
077d7c8c86 [svn-r511] 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.
1998-07-15 16:21:15 -05:00
Robb Matzke
8ad2f1aae0 [svn-r510] Changes since 19980713
----------------------

./config/conclude.in
	Fixed so `make test' and `make progs' work on a clean source tree.
1998-07-15 11:39:46 -05:00
Quincey Koziol
227f5af63c [svn-r498] Added test to read data from a hyperslab in memory into a selection of points
in the file and back from the selection of points into a differently oriented
hyperslab in memory.
1998-07-14 23:12:54 -05:00
Quincey Koziol
eb784ecd69 [svn-r495] Finished debugging element selections. H5Sselect_elements call now working
correctly (as opposed to not at all... :-)
1998-07-14 22:47:39 -05:00
Quincey Koziol
5b6f42727c [svn-r494] Added test to take several differently shaped hyperslabs and perform I/O
on them to verify the iterators are processed in the correct order.
1998-07-14 19:48:16 -05:00
Quincey Koziol
bf5165c748 [svn-r489] Changed more API functions to the new names as documented. Also, added
stub for testing selections.
1998-07-14 16:14:12 -05:00
Robb Matzke
614ae2dce6 [svn-r485] 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.
1998-07-13 10:35:21 -05:00
Quincey Koziol
ff17db8aef [svn-r481] Added cleanup routine to structure for each test, as a reminder to write them
and make certain they get called properly.
1998-07-10 17:00:26 -05:00
Quincey Koziol
b7f334adb4 [svn-r480] Fixed an ugly bug by teaching the recursive hyperslab I/O code how to resume
when a buffer gets full.  Also removed the check for disallowing zero-dim
extents on unlimited dimension datasets, per user's request.
1998-07-10 12:54:19 -05:00
Robb Matzke
6a1bea937d [svn-r469] 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).
1998-07-08 11:46:16 -05:00
Robb Matzke
bcf649388c [svn-r460] 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.
1998-07-07 15:13:31 -05:00
Quincey Koziol
63be23d70d [svn-r459] Changed H5Sget_npoints call to H5Sextent_npoints and H5Sselect_npoints calls. 1998-07-07 15:03:50 -05:00
Robb Matzke
cf419d05ab [svn-r454] 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.
1998-07-06 18:02:32 -05:00
Quincey Koziol
650e88756c [svn-r452] Changed tests to use the new dataspace API calls. Still need to add tests for
point selections and strides.
1998-07-06 16:01:59 -05:00
Robb Matzke
99c46b756c [svn-r447] Oops, turned data type tests off again until I get the SIGFPE thing
sored out.
1998-07-02 20:26:45 -05:00
Robb Matzke
203a732915 [svn-r446] 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.
1998-07-02 20:16:22 -05:00
Albert Cheng
b81abe336d [svn-r445] Added individually named cleanup_xxx routine to each test module file
to cleanup temporary files used by that particular module.
Added a cleanup() routine to testhdf5 that calls all the other
cleanup_xxx() routines to do cleanup.
Cleanup action can be disabled either by -c (no cleanup) option
or HDF5_NOCLEANUP environment variable.
1998-07-02 19:57:00 -05:00
Robb Matzke
1b3a1f8014 [svn-r437] 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().
1998-06-30 16:30:28 -05:00
Robb Matzke
4bf629adc9 [svn-r435] ./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.
1998-06-22 22:41:22 -05:00
Robb Matzke
23465486ed [svn-r432] 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.
1998-06-18 16:03:30 -05:00
Robb Matzke
22538a0c79 [svn-r429] 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.
1998-06-17 15:46:29 -05:00
Robb Matzke
53916f4e59 [svn-r428] 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.
1998-06-16 14:38:26 -05:00
Robb Matzke
dd58a3ec29 [svn-r425] 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.
1998-06-12 12:31:06 -05:00