diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
commit | fb947c34b142578774d5bb657c0b3e2a9b4781c7 (patch) | |
tree | c695cac8789bbe5fc92a5324e3027856bf3858bc /src/H5Ostab.c | |
parent | 326981f421b993815657daecc8b37bd732513d82 (diff) | |
download | hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.zip hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.gz hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.bz2 |
[svn-r25] ./src/H5AC.c
We sort the cache before a complete flush because it might be
more efficient to write things back to disk in order of
increasing address. If you want the old way then undef the
SORT_BY_ADDR constant at the top of H5AC.c I haven't
determined which systems and I/O libraries this helps or
hurts. (This is currently off because of a bug I need to track
down that causes qsort() to run for a really long time).
./src/H5B.c
Fixed a couple more bugs.
./src/H5Eprivate.h
./src/H5Eproto.h
Added major H5E_DIRECTORY and minor H5E_EXISTS, H5E_COMPLEN.
./src/H5G.c
Added directory-aware functions.
The heap and B-tree are created when a directory is created
instead of when the first symbol is added. This simplifies
symbol table entry caching for the directory since the cached
value never changes now.
./src/H5Gnode.c
./src/H5Gprivate.h
Fine tuned the B-tree K values for symbol tables assuming an
average number of symbols is about 100 per directory. The
tuning minimizes storage space.
Fixed a return value in H5G_node_cmp().
./src/H5H.c
./src/H5Hprivate.h
Moved some macros the the header file.
./src/H5O.c
./src/H5Ocont.c
./src/H5Onull.c
./src/H5Ostab.c
Changed the arguments for the decode method for messages. The
second argument is the raw message size.
Added a class variable for native message size.
Added H5O_reset() to free memory used internally by a message.
./src/H5Oname.c NEW
./src/H5Oprivate.h
./src/Makefile
The object name message.
./src/hdf5port.h
Added defn for HDstrdup()
Diffstat (limited to 'src/H5Ostab.c')
-rw-r--r-- | src/H5Ostab.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/H5Ostab.c b/src/H5Ostab.c index d2c1394..926eeef 100644 --- a/src/H5Ostab.c +++ b/src/H5Ostab.c @@ -26,7 +26,7 @@ #define PABLO_MASK H5O_stab_mask /* PRIVATE PROTOTYPES */ -static void *H5O_stab_decode (hdf5_file_t *f, const uint8 *p); +static void *H5O_stab_decode (hdf5_file_t *f, size_t raw_size, const uint8 *p); static herr_t H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p, const void *_mesg); static void *H5O_stab_fast (const H5G_entry_t *ent, void *_mesg); @@ -40,18 +40,19 @@ static herr_t H5O_stab_debug (hdf5_file_t *f, const void *_mesg, const H5O_class_t H5O_STAB[1] = {{ H5O_STAB_ID, /*message id number */ "stab", /*message name for debugging */ + sizeof (H5O_stab_t), /*native message size */ H5O_stab_decode, /*decode message */ H5O_stab_encode, /*encode message */ H5O_stab_fast, /*get message from stab entry */ H5O_stab_cache, /*put message into stab entry */ H5O_stab_copy, /*copy the native value */ H5O_stab_size, /*size of symbol table entry */ - NULL, /*default free method */ + NULL, /*default reset method */ H5O_stab_debug, /*debug the message */ }}; /* Is the interface initialized? */ -static intn interface_initialize_g = FALSE; +static hbool_t interface_initialize_g = FALSE; /*------------------------------------------------------------------------- @@ -73,7 +74,7 @@ static intn interface_initialize_g = FALSE; *------------------------------------------------------------------------- */ static void * -H5O_stab_decode (hdf5_file_t *f, const uint8 *p) +H5O_stab_decode (hdf5_file_t *f, size_t raw_size, const uint8 *p) { H5O_stab_t *stab; @@ -81,6 +82,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p) /* check args */ assert (f); + assert (raw_size == 2*H5F_SIZEOF_OFFSET(f)); assert (p); /* decode */ @@ -95,7 +97,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p) /*------------------------------------------------------------------------- * Function: H5O_stab_encode * - * Purpose: Encodes a symbol table entry. + * Purpose: Encodes a symbol table message. * * Return: Success: SUCCEED * @@ -110,7 +112,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p) *------------------------------------------------------------------------- */ static herr_t -H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p, const void *_mesg) +H5O_stab_encode (hdf5_file_t *f, size_t raw_size, uint8 *p, const void *_mesg) { const H5O_stab_t *stab = (const H5O_stab_t *)_mesg; @@ -118,7 +120,7 @@ H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p, const void *_mesg) /* check args */ assert (f); - assert (size == 2 * H5F_SIZEOF_OFFSET(f)); + assert (raw_size == 2 * H5F_SIZEOF_OFFSET(f)); assert (p); assert (stab); |