Commit Graph

38 Commits

Author SHA1 Message Date
Quincey Koziol
828e7e2416 [svn-r16566] Description:
Bring r16560 back from trunk.

Tested on:
    Mac OS X/32 10.5.6 (amazon) debug & production
    (Following up with tests on more platforms)
2009-03-10 20:44:36 -05:00
Quincey Koziol
ab2ff6eda4 [svn-r16280] Description:
Bring revision 16278 back from revise_chunks branch:

	Update layout information in DCPL to unify all information in one
underlying property and switch to using H5O_layout_t for storing it, which
simplifies things considerably.

	Also, fix many compiler warnings.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(Original patch tested on many machines)
2009-01-08 12:56:57 -05:00
Neil Fortner
a858608a0a [svn-r15797] Purpose: Close bug #1322
Description: Fixes a possible datatype id leak that could occur during compound
datatype conversion, or more precisely, when unregistering those conversions.
Datatype ids normally registered by the library are no longer visible to the
application via H5Fget_obj_ids and H5Fget_obj_count.

Tested: kagiso, linew, smirom (h5committest)
2008-10-06 22:47:56 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

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

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
Neil Fortner
4b141cbc6a [svn-r15486] Purpose: Allow library to shut down properly when objects have reference count
> 1.

Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
    the reference count on an id due to the application.  the old 'count' field
    tracks the total.  Generally any id visible to the application gets placed
    in app_count.  Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
    H5I_register, H5I_clear_type, and a few other functions, to specify whether
    the operation(s) being performed on the id(s) are due to the application
    (TRUE) or not (FALSE).  Test added for this case.

Tested: kagiso, smirom, linew (h5committest)
2008-08-19 11:36:55 -05:00
Neil Fortner
2df9af6ae8 [svn-r15450] Purpose: Fix various problems that were occurring when using mounted files.
Description:
Moved mount table from top file structure to shared file structure.  Moved
parent out of mount table and back into top file structure.  mounted files can
now be accessed from any handle of the parent file.  Changes to how files are
closed.  Stricter cycle checking on mounted files.  Removed unused function
H5F_has_mount().

Tested:
kagiso, smirom, linew (h5committest)
2008-08-07 16:32:36 -05:00
Quincey Koziol
79380c228c [svn-r15132] Description:
Bring back revision 15131 from trunk:

        Finish omnibus chunked dataset I/O refactoring, to separate general
    actions on chunked datasets from actions that are specific to using the v1
    B-tree index.

        Cleaned up a few bugs and added some additional tests also.

Tested on:
    Mac OS X/32 10.5.3 (amazon)
    Linux/32 2.4 (chicago)
2008-06-03 15:34:58 -05:00
Scott Wegner
f02082b568 [svn-r14974] Purpose: Fix bug in H5G_get_name_by_addr where buffer size is less than size of name
Description:
In the new tests merged from the fortran_1_8 branch, there is a test that fetches a dataset name in a small buffer.  The call to H5G_get_name_by_addr wrote an extra byte off the end of the buffer.  A simple and sufficient fix is to decrease the buffer size passed to strncmp by 1.  This bug was only caught by Visual Studio 2005 with extra debug checks on.

Tested:
VS2005 on WinXP
kagiso
2008-05-12 13:03:05 -05:00
Quincey Koziol
2f36ea99d4 [svn-r14284] Description:
Add H5Lvisit_by_name() API routine to library.

	Eliminated all (five!) other group traversal routines and changed them
all to use the new API routine.

	Cleaned up output of h5ls & h5stat:
		- Issue error when requesting recursive traversal of a file
			with the "group info" flag, but no group given
		- Print info about root group in all(?) appropriate situations
		- Don't print "verbose" information about root group until the
			root group is in the list of objects to display
	(mostly because h5ls & h5stat had a different twist on traversing the
groups in a file that the other utilities)

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-24 11:49:36 -05:00
Quincey Koziol
b969dce6e5 [svn-r14224] Description:
Change H5Literate -> H5Literate_by_name and add simpler form of
H5Literate, to bring this routine into alignment with the other new API
routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-30 17:56:15 -05:00
Quincey Koziol
22be11f0d9 [svn-r14175] Description:
Minor fixes to avoid memory leaks when 'realloc' fails.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-10-02 15:00:21 -05:00
Quincey Koziol
68c01f91d9 [svn-r14154] Description:
Finish deprecating last H5G symbol (H5G_obj_t) - yay!

	Lots of misc. library fixes to remove confusion between links and
objects.  The tools could still use another pass, to remove h5trav_type_t type
and make the correct distinction between links & objects.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-09-25 17:18:33 -05:00
Quincey Koziol
cae55b647d [svn-r14122] Description:
Move H5Gmove() to deprecated code section, replacing with H5Lmove()
in source files.

Tested on:
	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)
	Mac OS X/32 10.4.10 (amazon)
2007-08-28 17:30:13 -05:00
Quincey Koziol
814ad1cb42 [svn-r13986] Description:
Add flag to bypass (expensive) B-tree & heap size retrieval for
internal calls to H5O_get_info().

Teted on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
2007-07-17 16:04:44 -05:00
Quincey Koziol
bdcbada3f2 [svn-r13814] Description:
Change back to clearing memory buffers by default, but give users option
to disable this, for performance reasons (--disable-clear-file-buffers).

    Also, add configure option (--enable-using-memchecker) to conveniently
control making the library "play nice" with memory checking tools like valgrind
and purify.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    Linux/32 2.6 (kagiso)
2007-05-29 15:02:34 -05:00
Christian Chilan
55ba7924e1 [svn-r13704] Change to H5G_get_refobj_name so that H5I_get_name returns the length of the name of a dereferenced object without counting the null terminator. Tested on smirom, copper, and cobalt. 2007-04-27 14:04:32 -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
a867b8f5fd [svn-r13045] Description:
Switch from using H5L_index_t/H5L_INDEX_<foo> to H5_index_t/H5_INDEX_<foo>
in order to accommodate indices on aspects of attributes as well as links.

    Add basic support for deleting attributes in dense storage (needs more
support/tests for shared attributes in dense storage still).

    Misc. cleanups, etc.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-12-11 19:42:19 -05:00
Quincey Koziol
5c1fedcb90 [svn-r12973] Description:
Finish removing library's internal code that uses H5G_get_objinfo() and
retarget it at either getting the link information or the object information,
as appropriate.  (Still need to add user-level tests for H5Oget_info(), but
since several internal components of the library depend on the internal version,
it appears to be working correctly).

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/322.4 (heping)
    Linux/64 2.4 (mir)
    AIX/32 5.? (copper)
    Mac OS X/32 10.4.8 (amazon)
2006-11-24 23:10:32 -05:00
Quincey Koziol
1482d3e9cb [svn-r12932] Description:
Basic support for H5Literate() routine.  Still needs to be fleshed out and
refactored to simplify.  Also, needs tests. :-)

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    AIX/32 5.? (copper)
    Mac OS X/32 10.4.8 (amazon)
2006-11-17 10:48:41 -05:00
Quincey Koziol
0b1bb5bda1 [svn-r12907] Description:
Finish refactoring internal link deletion code, to make it possible to
wrap up the H5Ldelete_by_idx() coding.

Tested on:
    Linxu/32 2.6 (chicago)
    Linxu/64 2.6 (chicago2)
2006-11-13 21:29:15 -05:00
Quincey Koziol
e53f3daf61 [svn-r12892] Description:
Add H5Rget_name routine and tests...

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
2006-11-11 00:23:53 -05:00
Quincey Koziol
53357538de [svn-r12876] Description:
Make code that retrieves names for references thrash memory less by keeping
track of the current buffer size and only re-allocating it when necessary.

Tested on:
    Linux/64 2.6 (chicago2)
2006-11-07 14:03:07 -05:00
Quincey Koziol
de285fb909 [svn-r12875] Description:
Fix retrieving name for references to root group.

    Also, move 'ref' test earlier in testing, right after 'getname' test

Tested on:
    Linux/64 2.6 (chicago2)
2006-11-07 12:06:42 -05:00
Quincey Koziol
db3632444b [svn-r12871] Description:
Clean up a couple of warnings...

Tested on:
    Linux/64 2.6 (chicago2)
2006-11-06 21:48:39 -05:00
Quincey Koziol
32cd8f3fcf [svn-r12865] Description:
Change name of H5Lunlink to H5Ldelete, per our design meeting last Friday.

Tested on:
    Linux/32 2.6 (chicago)
2006-11-06 12:44:40 -05:00
Quincey Koziol
5a77933fd5 [svn-r12859] Description:
Fix to handle finding the correct path to an object in a mounted file
hierarchy.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-11-03 23:34:28 -05:00
Quincey Koziol
6b02bda9eb [svn-r12858] Description:
Clean up code to build name for ID with no name tracked - get rid of
global variable, unused routines, etc.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-11-03 20:56:16 -05:00
Quincey Koziol
fdd8440178 [svn-r12855] Description:
Further code cleanups to bring into better alignement w/rest of library.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-11-03 10:30:51 -05:00
Quincey Koziol
2ef26248c5 [svn-r12854] Description:
Clean up some more function name problems and other compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-11-03 10:15:17 -05:00
Quincey Koziol
8c5e848bd4 [svn-r12853] Description:
Correct name of routine in FUNC_ENTER... macro.

Tested on:
    None - just eyeballed, very trivial..
2006-11-03 09:45:46 -05:00
Leon Arber
d496206f8b [svn-r12849] Purpose: Feature
Description:  Add ability for H5Iget_name to figure out the path name given an object reference.

Tested:
kagiso, sol
2006-11-02 17:58:38 -05:00
James Laird
3e755623cb [svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external().  These links
point to an object in another HDF5 file.  Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.

Added tests, tools support, etc.

Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).

Additional documentation and examples are forthcoming.
2006-08-02 18:41:53 -05:00
James Laird
801ca2f9cb [svn-r12452] Purpose:
Feature

Description:
Revised Link APIs.

Solution:
New link APIs use H5L*
H5*create_expand do not create links to the objects created; this must
be done manually with H5Llink.
Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy),
and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query
API (H5Lget_linkinfo instead of H5Gget_objinfo).
All old APIs are still supported in H5Gdeprec.c .

Platforms tested:
sol, mir, copper

Misc. update:
Forgot to update MANIFEST and release docs.  Will do after checkin.
2006-07-05 14:01:50 -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
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Quincey Koziol
83929ea716 [svn-r11838] Purpose:
Bug fix

Description:
    Retrieving an object's name could fail (in various ways) under certain
circumstances (mostly having to do with mounted files).

Solution:
    Re-write & simplify "get object name" code to fix error in a better way
than adding yet another hack to the previous pile of hacks... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-26 00:28:18 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
New feature

Description:
    Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!

    This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release.  Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!


Solution:
    There's too many changes to really describe them all, but some of them
include:
    - Stop abusing the H5G_entry_t structure and split it into two separate
        structures for non-symbol table node use within the library: H5O_loc_t
        for object locations in a file and H5G_name_t to store the path to
        an opened object.  H5G_entry_t is now only used for storing symbol
        table entries on disk.

    - Retire H5G_namei() in favor of a more general mechanism for traversing
        group paths and issuing callbacks on objects located.  This gets us out
        of the business of hacking H5G_namei() for new features, generally.

    - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t

    - Lots more...

Platforms tested:
    h5committested and maybe another dozen configurations.... :-)
2005-11-14 21:55:39 -05:00