Commit Graph

29 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
Raymond Lu
e3a137f39e [svn-r4517]
Purpose:
    Changed to the new generic property list for dataset creation property
    list.
Platforms tested:
    Arabica, modi4 and Hawkwind
2001-10-03 12:57:56 -05:00
Bill Wendling
bfd983e7f4 [svn-r3770] Purpose:
Update
Description:
    Changed includes of the form:

            #include <hdf5_file.h>

    to

            #include "hdf5_file.h"

    so that gcc can pick them up easier without including the system
    header files since we don't care about them.
Platforms tested:
    Linux
2001-04-03 13:09:16 -05:00
Quincey Koziol
a319837a4f [svn-r3326] Purpose:
Clean up warnings
Description:
    The "FAILED" macro is defined by Windows and is causing warnings and
    potential errors when compiled on that platform.
Solution:
    Change our macro from FAILED to H5_FAILED.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-25 12:03:29 -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
Albert Cheng
dd4203674a [svn-r2531] Description:
The "FILENAME" declared extern in h5test.h is not always used.
    It was used in h5_cleanup to remove temporary files created
    during tests.  Not all tests codes have used this routine.
    Indeed, quite a few of test programs do "#define FILENAME ".
    Also, h5_cleanup needs to work in tandem with h5_fixname.
    h5_fixname accepts an explicite base_name argument instead
    of using the global variable FILENAME.  That is cleaner.
Solution:
    Added char *base_name[] as a new argument to h5_cleanup, in
    the same style as h5_fixname.  Removed "extern char *FILENAME..."
    from use.  Also, undo some unnecessary declaration of "char *FILENAME"
    from some tests which don't use it at all (yet).
Platforms tested:
    modi4-64(irix64), arabica(solari2.7), eirene(linux)
    (arabica could not launch tests automatically.  I had to hack
     in LD_LIBRARY_PATH to make them run.)
2000-09-09 19:08:27 -05:00
Patrick Lu
58a685ac81 [svn-r1743] fixed some compilation errors on unix 1999-10-13 10:41:02 -05:00
Patrick Lu
478038d68d [svn-r1741] write 0f0f0f0f into the *a.raw and *b.raw files so if the os doesn't put 0's in
when it skips over part of the file the garbage is not left in there.
fixes problems with win 98
1999-10-13 10:09:30 -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
Albert Cheng
cee43a0f30 [svn-r1129] Test bugs fixed in T3E port.
external.c:
    Test assumed sizeof(int) is 4.  Changed the hard-coded values
    to values depending on the native sizeof(int).

th5s.c:
    Changed hardcoded old filenames to macro FILE.
1999-03-09 18:13:22 -05:00
Patrick Lu
ac8c4177aa [svn-r1089] changed the call to open to HDopen since NT needs that 0_BINARY flag
in it to open binary files.
1999-02-21 14:55:24 -05:00
Robb Matzke
4354606d1e [svn-r949] 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.
1998-11-25 09:58:22 -05:00
Robb Matzke
dedc8c37b4 [svn-r944] 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.
1998-11-23 15:40:35 -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
Patrick Lu
a482bd8e5b [svn-r933] moved the include for io.h into a block surrounded by HAVE_IO_H 1998-11-19 15:10:17 -05:00
Patrick Lu
3afdf4ac7e [svn-r931] added io.h in the stdc_header section 1998-11-19 14:15:13 -05:00
Robb Matzke
e0dfe872a0 [svn-r929] 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.
1998-11-19 13:52:56 -05:00
Robb Matzke
254ae8d43d [svn-r859] 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.
1998-11-02 12:58:28 -05:00
Patrick Lu
3a7c54b06f [svn-r781] Windows NT port-tested on Unix and NT
changes: defined __unused__ as nothing, other little changes.
	all changes are surrounded by #if defined(WIN32)
1998-10-23 13:16:48 -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
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
1e8ebeecfc [svn-r410] 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.
1998-06-05 16:03:49 -05:00
Albert Cheng
1327f0c65e [svn-r402] Added cleanup function that removes all temporary test files when
the tests pass.  Should add a "noclean" option that allows the
temporary to stay around even when the tests pass.
1998-05-28 18:02:29 -05:00
Robb Matzke
d392756a1b [svn-r400] 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.
1998-05-22 10:05:53 -05:00
Robb Matzke
c01750fa74 [svn-r338] 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.
1998-04-08 16:43:02 -05:00
Robb Matzke
68fa66bf81 [svn-r337] 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.
1998-04-07 10:34:16 -05:00
Robb Matzke
7915842498 [svn-r306] 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
./configure.in
./src/H5Fprivate.h
        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.
1998-03-05 16:27:38 -05:00
Robb Matzke
4badc161ae [svn-r305] 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.
1998-03-05 10:48:16 -05:00
Robb Matzke
7bdea74ca9 [svn-r303] 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.
1998-03-04 11:20:23 -05:00