mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-03 02:32:04 +08:00
7e8e3eec42
while he is visiting LLNL. I changed the default creation template offset and length to 4. Will fix the problem later. Changes since 19980205 ---------------------- ./src/H5H.c ./src/H5Hprivate.h ./src/H5O.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Olayout.c ./src/H5Oname.c ./src/H5Onull.c ./src/H5Oprivate.h ./src/H5Odspace.c ./src/H5Ostab.c ./src/debug.c ./html/H5.format.html Added an extra 4-byte field after the heap magic number for alignment on the DEC alpha. Changed object header message alignment to 8-bytes. ./src/H5F.c ./src/H5Farray.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fsec2.c ./src/H5Fstdio.c ./src/H5Gnode.c ./src/H5O.c ./src/H5Odtype.c ./src/H5P.c ./src/H5Pprivate.h ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5V.c ./src/H5detect.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/hyperslab.c ./test/istore.c ./test/th5p.c ./test/theap.c Fixed a few irix64 warnings regarding size_t vs. int, variables set but not used, printf formats ./config/irix64 Added `-woff 1196' to get rid of errors about __vfork() being implicitly defined in a system header file. ./src/H5B.c Fixed a stack alignment problem.
90 lines
2.3 KiB
C
90 lines
2.3 KiB
C
/*-------------------------------------------------------------------------
|
||
* Copyright (C) 1997 National Center for Supercomputing Applications.
|
||
* All rights reserved.
|
||
*
|
||
*-------------------------------------------------------------------------
|
||
*
|
||
* Created: theap.c
|
||
* Jul 17 1997
|
||
* Robb Matzke <robb@maya.nuance.com>
|
||
*
|
||
* Purpose:
|
||
*
|
||
* Modifications:
|
||
*
|
||
*-------------------------------------------------------------------------
|
||
*/
|
||
#include <testhdf5.h>
|
||
|
||
#include <H5private.h>
|
||
#include <H5Aprivate.h>
|
||
#include <H5ACprivate.h>
|
||
#include <H5Fprivate.h>
|
||
#include <H5Hprivate.h>
|
||
|
||
#define NOBJS 40
|
||
|
||
/*-------------------------------------------------------------------------
|
||
* Function: test_heap
|
||
*
|
||
* Purpose: Test name and object heaps.
|
||
*
|
||
* Return: void
|
||
*
|
||
* Programmer: Robb Matzke
|
||
* robb@maya.nuance.com
|
||
* Jul 17 1997
|
||
*
|
||
* Modifications:
|
||
*
|
||
*-------------------------------------------------------------------------
|
||
*/
|
||
void
|
||
test_heap(void)
|
||
{
|
||
int i, j;
|
||
hid_t fid;
|
||
H5F_t *f;
|
||
haddr_t heap_addr;
|
||
char buf[NOBJS + 8];
|
||
const char *s;
|
||
size_t obj[NOBJS];
|
||
herr_t status;
|
||
|
||
MESSAGE(5, ("Testing Heaps\n"));
|
||
|
||
/* Create the file */
|
||
fid = H5Fcreate("theap.h5", H5ACC_OVERWRITE, 0, 0);
|
||
CHECK(fid, FAIL, "H5Fcreate");
|
||
f = H5A_object(fid);
|
||
CHECK(f, NULL, "H5Aatom_object");
|
||
|
||
/* Create a new heap */
|
||
status = H5H_create(f, H5H_LOCAL, 0, &heap_addr /*out */ );
|
||
CHECK_I(status, "H5H_new");
|
||
|
||
/* Add stuff to the heap */
|
||
for (i = 0; i < NOBJS; i++) {
|
||
sprintf(buf, "%03d-", i);
|
||
for (j = 4; j < i; j++)
|
||
buf[j] = '0' + j % 10;
|
||
if (j > 4)
|
||
buf[j] = '\0';
|
||
|
||
obj[i] = H5H_insert(f, &heap_addr, strlen(buf) + 1, buf);
|
||
assert ((size_t)(-1)!=obj[i]);
|
||
}
|
||
|
||
/* Flush the cache and invalidate everything */
|
||
H5AC_flush(f, NULL, 0, TRUE);
|
||
|
||
/* Read the objects back out */
|
||
for (i = 0; i < NOBJS; i++) {
|
||
s = H5H_peek(f, &heap_addr, obj[i]);
|
||
MESSAGE(8, ("object is `%s'\n", s));
|
||
}
|
||
|
||
/* Close the file */
|
||
H5Fclose(fid);
|
||
}
|