Commit Graph

48 Commits

Author SHA1 Message Date
Quincey Koziol
63eb5b9ebb [svn-r14104] Description:
Pursue calls to H5Gcreate() relentlessly and ruthlessly exterminate
them, leaving only a few tame specimens in text files and comments.  ;-)

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-23 15:25:25 -05:00
Quincey Koziol
dfbc98e349 [svn-r13887] Description:
Add some additional tests for reading non-contiguous selections from
datasets which haven't had any data written to them (both non-VL and VL
datatype fill values covered)

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-06-19 15:38:49 -05:00
Quincey Koziol
32d09759bd [svn-r13883] Description:
Fixed bugs w/VL-datatype fill values for chunked dataset storage.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-06-19 12:35:24 -05:00
Quincey Koziol
40160d4d74 [svn-r13870] Description:
Fix writing variable-length datatype fill values for contiguous dataset
storage

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-06-15 12:52:25 -05:00
Quincey Koziol
15dbc76104 [svn-r13842] Description:
Fix compact dataset storage to initialize VL datatype fill values
correctly.

	Also, fix bug in global heap code when the fix action on a global
heap is to delete an object in a heap with no free space.

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
2007-06-07 22:06:56 -05:00
Raymond Lu
4eed634bcf [svn-r13542] Added a detection for zero-length VL data in H5T_conv_vlen to handle the case properly. This fix
was discovered by the user while Bug #717 was being fixed.  Modefied the test, too.
2007-03-26 13:55:36 -05:00
Raymond Lu
e7f1950239 [svn-r13531] When a dataset is created and no data is written, but fill value is defined,
if there's VL type of data in the dataset, the address of the data is copied
    multiple times into the buffer, causing some trouble when the data is released.
    Instead, this checkin makes multiple copies of fill value first, then 
    does conversion on each element so that each of them has a copy of the 
    VL data.  A test is added, too.

    Tested it on kagiso, sol, and copper.
2007-03-20 15:39:23 -05:00
Raymond Lu
3015df0a5b [svn-r13501] Suppress the compiler warning about the equality comparison of floating-point values. 2007-03-12 10:52:52 -05:00
Raymond Lu
270f7ce123 [svn-r13342] Bug fix (#717): Nested VL data failed to free the space when the data is over-
written with shorter length.
2007-02-20 09:53:19 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Quincey Koziol
dc41c73711 [svn-r13167] Description:
Get rid of two different types of fill value struct (merge H5O_fill_t
and H5O_fill_new_t) and clean up & simplify dataset initialization code.
        (In preparation for shared object header message method call
refactoring).

Tested on:
        FreeBSD/32 6.2 (duty)
        Mac OS X/32 10.4.8 (amazon)
2007-01-22 16:07:54 -05:00
Raymond Lu
b5047cafdc [svn-r13144] Added a test case for VL type of compound type with VL string in the field. 2007-01-16 13:52:51 -05:00
Quincey Koziol
bcda3c2dbf [svn-r12833] Description:
Clean up more warnings...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-30 19:13:27 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Raymond Lu
1acc676fcf [svn-r12322] Purpose: Test some functions
Description: Test some data type functions that are and aren't supposed to work
with some data types.


Platforms tested: h5committest and fuss.
2006-05-02 14:42:41 -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
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
James Laird
5a19f181b3 [svn-r8953]
Purpose:
Bug fix

Description:
When a simple dataspace is created, its extent should be set before using it,
or it will silently function as a NULL dataspace.

Solution:
Added checks on user-supplied dataspaces.  Now dataspaces without extents set
will throw errors; users must explicitly set a dataspace to be NULL.

Platforms tested:
sleipnir, windows
2004-07-27 11:55:19 -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
754e7b40b9 [svn-r7989] Purpose:
Code cleanup

Description:
    Switch 'malloc()' to 'HDmalloc()' in a bunch of places.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-12-29 14:02:05 -05:00
Raymond Lu
92a75f970e [svn-r7985] Purpose: bug fix
Description: VL datatype fails in certain way(hard to describe)

Solution: added more test to tvltypes.c

Platforms tested: h5committest
2003-12-29 12:56:50 -05:00
Quincey Koziol
e1792ebb22 [svn-r7842] Purpose:
Bug fix

Description:
    Variable length strings and sequences with NULL pointers were not handled
by library, causing problems access the data.  This also affected fill values
for variable-length datatypes.

Solution:
    Address the issues in the library by detecting NULL sequences/strings
and avoid trying to convert them.

    Patched up dumper to display NULL sequences/strings.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-11-13 10:19:50 -05:00
Quincey Koziol
a6c7dc1227 [svn-r7584] Purpose:
Code cleanup

Description:
    Added line #'s to a bunch of the error printf's, so it's easier to locate
where an error occurs.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray SV1 (wind)
2003-10-09 11:55:59 -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
Raymond Lu
814ea8b962 [svn-r5812]
Purpose:
    Bug fix.
Description:
    This should fix the nested VL datatype bug.
Platforms tested:
    modi4, eirene, impact
2002-07-17 16:11:47 -05:00
Raymond Lu
23670c0cf6 [svn-r5805]
Purpose:
    temporary solution to avoid failture.
Description:
    let VL sequence remain the same.
2002-07-15 17:42:00 -05:00
Raymond Lu
38d5d5e21b [svn-r5780]
Purpose:
    Improving testing
Description:
    changed the number of elements in nested VL datatype test.
Platforms tested:
    IRIX64 6.5(modi4) 64-bit
2002-07-11 16:45:22 -05:00
Raymond Lu
22677006ca [svn-r5765]
Purpose:
    New Test VL memory leak.
Description:
    Test to see if VL type memory leaks when data is overwritten.
Platforms tested:
    Linux 2.2(eirene), IRIX 6.5(paz).
2002-07-03 16:07:59 -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
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -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
Quincey Koziol
95862451f7 [svn-r4324] Purpose:
New Features!
Description:
    Start migrating the internal use of property lists in the library from the
    older implementation to the new generic property lists.

    Currently, only the dataset transfer property lists are migrated to the
    new architecture, all the rest of the property list types are still using
    the older architecture.

    Also, the backward compatibility features are not implemented yet, so
    applications which use dataset transfer properties may need to make the
    following changes:
        H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
            and
        H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)

    This still may have some bugs in it, especially with Fortran, but I should
    be wrapping up those later today.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-10 15:47:05 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -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
0726621eaa [svn-r3005] Purpose:
Backward compatibility code
Description:
    Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-27 18:01:48 -05:00
Quincey Koziol
cfac5f773e [svn-r2974] Purpose:
Code bullet-proofing
Description:
    There were several hard-coded values in various places in this test and
    it wasn't checking for out-of-memory conditions very robustly.
Solution:
    Changed hard-coded values to be computed values and performed better
    checking for out-of-memory situations.
Platforms tested:
    SGI O2K (modi4) and Solaris 2.6 (baldric)
2000-11-17 16:12:23 -05:00
Patrick Lu
7e2890384e [svn-r2289] changed the macro for the file to be FILENAME. caused compilation errors on windows with the
old name
2000-05-25 10:53:22 -05:00
Quincey Koziol
9648d22f5f [svn-r1837] Cleaned up a few warnings from the SGI compiler. 1999-11-17 17:00:15 -05:00
Quincey Koziol
6f649e66b2 [svn-r1730] Close & re-open the file to make certain that the VL datatype information is
being written correctly.
1999-10-06 13:12:19 -05:00
Quincey Koziol
ae45f73e6a [svn-r1577] Added test for H5Dvlen_get_buf_size function. 1999-08-19 13:50:30 -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
Quincey Koziol
ff6bfe4a2f [svn-r1536] Fixed alignment problems on DEC Alpha platform. 1999-07-23 16:20:07 -05:00
Quincey Koziol
def04e3564 [svn-r1507] Uncommented VL datatypes in compound datatypes test, since it's working now.
Some other memory leaks in the tests fixed.
1999-07-17 19:00:22 -05:00
Quincey Koziol
74665d2a04 [svn-r1495] Corrections and small bugfixes to VL testing. 1999-07-16 13:12:34 -05:00
Patrick Lu
8524d06a4b [svn-r1481] reordered the tests in the test_vltypes function.
caused some strange problems on NT.  crashed if the test for the compound type
was second when called from the command line but not if i clicked on the icon.
strange but this seemed to make it better
1999-07-14 13:26:29 -05:00
Quincey Koziol
3bdafe922a [svn-r1419] Modified dtypes.c to add new dataset transfer property list ID in
H5Tconvert calls.
    Added tests to tvltypes.c which test arrays of VL compound datatypes,
array of compound datatypes with VL fields and arrays of nested VL sequences
of VL sequences of atomic types, all of which are working correctly.
1999-07-03 05:34:27 -05:00
Quincey Koziol
b487ccb9ee [svn-r1334] VL datatype testing file. Currently, only atomic datatype sequences are tested,
but I expect the others to work correctly also.  More tests on VL compound
and VL VL (atomic) types forthcoming.
1999-06-11 17:06:26 -05:00