Commit Graph

39 Commits

Author SHA1 Message Date
Quincey Koziol
a0530d368b [svn-r11277] Purpose:
Bug fix

Description:
    Fix core dump when checking whether to invalidate the name of an object
when unlinking an object in a group opened through an object reference.

Solution:
    Check if names of various objects are valid before comparing them, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-20 11:32:55 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
6562465a2c [svn-r11243] Purpose:
Code cleanup

Description:
    Collapse the various tests on groups opened by dereferencing into one test.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 14:27:39 -05:00
Quincey Koziol
0e1b41d0fd [svn-r11229] Purpose:
Big fix

Description:
    A group opened by dereferencing a object reference would not work for
H5Giterate(), due to the local heap & B-tree information not being cached.

Solution:
    Get the local heap & B-tree info & point to that structure instead of
the group entry for the group.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-10 15:28:32 -05:00
Quincey Koziol
0c9c34fab6 [svn-r11176] Purpose:
Bug fix

Description:
    Correct problems when querying information about a group that was opened
by dereferencing an object reference.

Solution:
    Read in symbol table information instead of rely on it being cached.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-30 13:53:01 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Quincey Koziol
ab28d2c820 [svn-r6961] Purpose:
Bug fix

Description:
    An earlier checkin changed some of the assumptions about single block
hyperslabs, causing them to fail in odd ways.

Solution:
    Fix errors with single block hyperslabs by keying off of count==1 instead
of stride==1.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-04 13:42:20 -05:00
Quincey Koziol
bb042d83c7 [svn-r6950] Purpose:
API tweak.

Description:
    The H5Sget_select_bounds() API call was using hsize_t arrays for retrieving
the 'start' and 'end' coordinates, which is counter to the rest of the dataspace
API.

Solution:
    Change the arrays to be hssize_t instead.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested

Misc. update:
    Updated all docs for this change.

    Added 1.4 compatibility #ifdef's
2003-06-04 10:22:23 -05:00
Quincey Koziol
862520b80e [svn-r6941] Purpose:
Code cleanup

Description:
    Clean up older settings for strides of hyperslabs

Platforms tested:
    h5committestted (although Fortran tests failed for some reason)
2003-05-31 11:20:03 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
5f2b8eee13 [svn-r5560] Purpose:
Bug Fix for bug #789

Description:
    Creating a 1-D dataset region reference caused the library to hang (go into
    an infinite loop).

Solution:
    Corrected algorithm for serializing hyperslab regions.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-10 10:19:19 -05:00
Quincey Koziol
5560c64e25 [svn-r4747] Purpose:
Bug Fix.
Description:
    The H5Rget_object_type function could not get the object type for dataset
    region references.
Solution:
    Added a new function, H5Rget_obj_type, to replace H5Rget_object_type.
    The new function requires the reference type as an additional parameter,
    in order to allow queries on different reference types to be performed
    correctly.
Platforms tested:
    FreeBSD 4.4. (sleipnir)
2001-12-20 15:51:30 -05:00
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
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
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
b20fa011c2 [svn-r2864] Purpose:
Additional testing.
Description:
    Verify that calling H5Rget_obj_type with a region reference fails.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-10 19:12:21 -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
51e91feba8 [svn-r2547] Changed hyperslab definition to generate one 6x6 hyperslab instead of 36 1x1
hyperslabs.
2000-09-13 18:50:39 -05:00
Quincey Koziol
eea89e1e6c [svn-r1651] Fold in J90 changes 1999-09-24 17:35:30 -05:00
Robb Matzke
58eb9c4aa0 [svn-r1311] Changes since 19990607
----------------------

./tools/h5ls.c
./tools/h5tools.c
	Added support for printing bitfields and opaque data.

./test/dsets.c
	Added bitfield and opaque datasets to the output file so h5ls
	has something interesting to print.

./test/trefer.c
	Resync'd

./src/H5Tconv.c
	Fixed bitfield conversion which resulted in possible garbage
	in high-order bits of destination when the destination type is
	larger than the source type. Thanks for spotting it, Quincey.
1999-06-07 15:20:32 -05:00
Robb Matzke
6881c423a1 [svn-r1309] Changes since 19990607
----------------------

./tools/h5tools.c
	Finished code which prints references (object and dataset
	region). Patrick, if you tell me how h5dump should (or might
	want to) print references I can make some changes to support
	various formats...

	You can try it out with:

	    cd test
	    env HDF5_NOCLEANUP=yes ./testhdf5
	    ../tools/h5ls -dvr trefer1.h5
	    ../tools/h5ls -dvr trefer2.h5

	(run h5ls with no arguments if you forgot what the switches do)


./test/trefer.c
	Call calloc instead of malloc in one place to prevent
	uninitialized data from being written into the file.
1999-06-07 13:19:30 -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
Quincey Koziol
5a12356ecd [svn-r1147] Added test for object references to named datatypes. 1999-03-17 20:30:10 -05:00
Quincey Koziol
ff5a1a9e29 [svn-r1145] Added test for object references to groups. 1999-03-17 19:07:55 -05:00
Quincey Koziol
1cb6b0c27f [svn-r1140] Added tests for H5Rget_object_type 1999-03-12 15:05:49 -05:00
Quincey Koziol
84b5b71e84 [svn-r1136] Updated test for expanded API. 1999-03-11 16:03:41 -05:00
Quincey Koziol
36b081b6ea [svn-r1133] Added tests for region references and new dataspace/selection API functions. 1999-03-10 18:50:25 -05:00
Quincey Koziol
5bbc648241 [svn-r957] Updated test for dataset region code, currently generating an assertion failure
in the H5HG code for Robb to look at.
1998-11-30 14:44:30 -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
40f9403364 [svn-r905] Added test for writing dataset region references. 1998-11-12 19:28:58 -05:00
Quincey Koziol
9a4d614a0b [svn-r817] Fixed return value check. 1998-10-28 13:51:56 -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
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
Quincey Koziol
41241d47e5 [svn-r759] Added missing test file. 1998-10-13 17:42:24 -05:00