Added an `_g' to the end of library_initialize,
thread_initialize, and interface_initialize to abide by the
naming convention. Removed setting of these variables from
the various initialization functions since it happens in the
FUNC_ENTER() macro now.
Defined PABLO_MASK.
Removed `CONSTR(FUNC,"function_name")' everywhere since it's
handled by the various FUNC_ENTER macros.
Fixed calls to FUNC_ENTER(), FUNC_LEAVE(), and HRETURN_ERROR()
so they don't need so many arguments.
Changed PABLO_TRACE_ON() to FUNC_ENTER() since there is no
longer any danger of infinite recursion.
H5_term_library() now returns SUCCEED/FAIL and uses
FUNC_ENTER/FUNC_EXIT macros.
./src/H5A.c
Changes similar to H5.c.
Most (all?) of the functions called PABLO_TRACE_ON() and the
package doesn't have an interface initializer that I can see,
so the second argument to FUNC_ENTER() is always NULL.
H5A_release_atom_node() returns SUCCEED/FAIL.
./src/H5AC.c
Added error handling.
Arguments for internal functions are checked with assert().
./src/H5C.c
Changes similar to H5.c
Fixed the FUNC variable in H5C_get_default_atom() since it was
initialized to the wrong name.
./src/H5D.c
Changes similar to H5.c
./src/H5E.c
Changes similar to H5.c
Changed the pablo mask from H5_mask to H5E_mask in
H5E_init_interface().
H5Eclear(), H5E_store(), and H5Epush() return SUCCEED/FAIL.
Changed PABLO_TRACE_OFF() calls to FUNC_LEAVE() calls in the
same functions.
./src/H5Eprivate.h
./src/H5Eproto.h
Added additional error symbols for the H5AC package.
Changed prototypes for H5Eclear() and H5Epush().
Changes to HRETURN_ERROR() and HGOTO_ERROR() to reduce the
number of arguments.
./src/H5F.c
Changes similr to H5.c
Changed the pablo mask from H5_mask to H5F_mask for the
FUNC_LEAVE() call of H5F_init_interface().
Added FUNC_ENTER() and FUNC_LEAVE() calls to some functions
that didn't have them.
./src/H5M.c
Changes similar to H5.c
Fixed the FUNC variable in H5M_init_interface() since it was
initialized to the wrong name.
./src/H5P.c
Changes similar to H5.c
./src/H5T.c
Changes similar to H5.c
./src/hdf5gen.c
Changes to FUNC_ENTER() and FUNC_EXIT() to reduce the number
of arguments. FUNC_ENTER() is now safe from infinite
recursion since it updates the library_initialize_g,
thread_initialize_g, or interface_initialize_g variables
before calling the appropriate initialize function.
Fails sooner if the type of object requested doesn't match
the type of object cached.
./src/H5B.c
./src/H5Bprivate.h
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/H5H.c
./src/H5Hprivate.h
Changed lots of `H5*_HDR_SIZE' macros to `H5*_SIZEOF_HDR' to make
things more consistent.
Added H5*_SIZEOF_MAGIC macros.
Added debugging functions to some of the packages.
./src/H5F.c
Fixed a bug with reading past the end of a buffer.
./src/H5Tproto.h
Added prototypes for H5Tadd_field() and H5Tget_fields().
./src/debug.c
Low-level file debugging program.
./src/Makefile
Builds `debug' as one of the main targets. The target is
called `debug_hdf5' so it doesn't conflict with the `debug'
target that was already there. But the executable is called
`debug'.
the object header in the dataset structure). Also deleted the support for a
"per file" error stack, since we've decided to go with a "per thread" model
(currently).
name, they operate to query or modify the corresponding symbol table entry.
They don't understand directory hierarchies (that's the next layer up).
Since the object header stuff isn't done yet, they call four stub functions
that all return failure:
not_implemented_yet__create_object_header()
not_implemented_yet__insert_symtab_message()
not_implemented_yet__get_symtab_message()
not_implemented_yet__update_symtab_message()
The interface is:
haddr_t H5G_new (file, initial_heap_size)
Creates a new symbol table.
haddr_t H5G_find (file, symtab_addr, symbol_name, *entry)
Returns a symbol table entry given the name.
herr_t H5G_modify (file, symtab_addr, symbol_name, *entry)
Modifies the symbol table entry for the specified name.
herr_t H5G_insert (file, symtab_addr, symbol_name, *entry)
Inserts a new name and symbol table entry pair.
intn H5G_list (file, symtab_addr, maxentries, names[], entries[])
Returns a list of all names and symbol table entries.
H5F_SIZEOF_SIZE. Modified files to use these instead of
accessing the hdf5_file_t struct directly.
Changed address return values from H5B to -1 for error.
Changed off_t to haddr_t for anything that's a file address.