diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-01-07 17:14:26 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-01-07 17:14:26 (GMT) |
commit | 159fa7a232e1961940b83f035f4c27338d26337e (patch) | |
tree | b7344e9cfaadbbec3bc3a0576df8c264debb8239 /src/H5Ostab.c | |
parent | 1d17defdfc977c063c7ff20b5868bef9a76e5d9a (diff) | |
download | hdf5-159fa7a232e1961940b83f035f4c27338d26337e.zip hdf5-159fa7a232e1961940b83f035f4c27338d26337e.tar.gz hdf5-159fa7a232e1961940b83f035f4c27338d26337e.tar.bz2 |
[svn-r151] Changes since 19980105
----------------------
./config/freebsd2.2.1
./config/linux
Added -UH5O_DEBUG to the debug flags. Turn this on to get
lots of lines on stderr to show what objects are opened and
closed.
./src/H5C.o
./src/H5Cpublic.h
./test/dsets.c
./test/tfile.c
Split H5Cget_prop() and H5Cset_prop() into functions for each
property.
./src/H5D.c
./src/H5Dpublic.h
./src/H5Gstab.c
./src/H5O.c
./src/H5Ocont.c
./src/H5Ocstore.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oistore.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Ostab.c
./src/H5P.c
./src/istore.c
./test/tohdr.c
Object header functions now understand constant
vs. non-constant messages.
./src/H5F.c
./src/H5Fprivate.h
The file OID can be closed before other OID's.
./src/H5Flow.c
H5F_addr_defined() is a macro in this file.
./src/H5G.c
./src/H5Gpublic.h
./test/tstab.c
A current working group cannot be deleted.
./src/H5Gent.c
./src/H5Gpkg.h
Removed unused functionality.
./src/H5public.h
Includes <sys/types.h> for size_t.
Diffstat (limited to 'src/H5Ostab.c')
-rw-r--r-- | src/H5Ostab.c | 76 |
1 files changed, 10 insertions, 66 deletions
diff --git a/src/H5Ostab.c b/src/H5Ostab.c index db5ccdd..60aaa1d 100644 --- a/src/H5Ostab.c +++ b/src/H5Ostab.c @@ -26,9 +26,6 @@ static void *H5O_stab_decode (H5F_t *f, size_t raw_size, const uint8 *p); static herr_t H5O_stab_encode (H5F_t *f, size_t size, uint8 *p, const void *_mesg); -static void *H5O_stab_fast (const H5G_cache_t *cache, void *_mesg); -static hbool_t H5O_stab_cache (H5G_type_t *cache_type, H5G_cache_t *cache, - const void *_mesg); static void *H5O_stab_copy (const void *_mesg, void *_dest); static size_t H5O_stab_size (H5F_t *f, const void *_mesg); static herr_t H5O_stab_debug (H5F_t *f, const void *_mesg, @@ -39,11 +36,8 @@ 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 */ - H5G_CACHED_STAB, /*symtab entry `type' field */ 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 reset method */ @@ -151,75 +145,25 @@ H5O_stab_encode (H5F_t *f, size_t raw_size, uint8 *p, const void *_mesg) * *------------------------------------------------------------------------- */ -static void * -H5O_stab_fast (const H5G_cache_t *cache, void *_mesg) +void * +H5O_stab_fast (const H5G_cache_t *cache, const H5O_class_t *type, void *_mesg) { - H5O_stab_t *stab = (H5O_stab_t *)_mesg; + H5O_stab_t *stab = NULL; FUNC_ENTER (H5O_stab_fast, NULL); /* check args */ assert (cache); + assert (type); - if (!stab) stab = H5MM_xcalloc (1, sizeof(H5O_stab_t)); - stab->btree_addr = cache->stab.btree_addr; - stab->heap_addr = cache->stab.heap_addr; - - FUNC_LEAVE (stab); -} - - -/*------------------------------------------------------------------------- - * Function: H5O_stab_cache - * - * Purpose: Copies a message into the cache portion of a symbol table - * entry. - * - * Return: Success: TRUE if modified; FALSE if not modified. - * In either case, the new cache type is - * returned through the CACHE_TYPE argument. - * - * Failure: FAIL - * - * Programmer: Robb Matzke - * matzke@llnl.gov - * Aug 6 1997 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static hbool_t -H5O_stab_cache (H5G_type_t *cache_type, H5G_cache_t *cache, const void *_mesg) -{ - const H5O_stab_t *stab = (const H5O_stab_t *)_mesg; - hbool_t modified = FALSE; - - FUNC_ENTER (H5O_stab_cache, FAIL); - - /* check args */ - assert (cache_type); - assert (cache); - assert (stab); - - if (H5G_CACHED_STAB != *cache_type) { - modified = TRUE; - *cache_type = H5G_CACHED_STAB; - cache->stab.btree_addr = stab->btree_addr; - cache->stab.heap_addr = stab->heap_addr; - } else { - if (H5F_addr_ne (&(cache->stab.btree_addr), &(stab->btree_addr))) { - modified = TRUE; - cache->stab.btree_addr = stab->btree_addr; - } - - if (H5F_addr_ne (&(cache->stab.heap_addr), &(stab->heap_addr))) { - modified = TRUE; - cache->stab.heap_addr = stab->heap_addr; - } + if (H5O_STAB==type) { + if (_mesg) stab = (H5O_stab_t *)_mesg; + else stab = H5MM_xcalloc (1, sizeof(H5O_stab_t)); + stab->btree_addr = cache->stab.btree_addr; + stab->heap_addr = cache->stab.heap_addr; } - FUNC_LEAVE (modified); + FUNC_LEAVE (stab); } |