diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-08-31 13:46:47 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-08-31 13:46:47 (GMT) |
commit | 1e38c1378582208f6f109042c37c8fff858f985d (patch) | |
tree | cbed547d5490029b2f49f31a61187d33edaa8933 /src/H5D.c | |
parent | e4053f38c2b2732ffa48b7401581db2516b47951 (diff) | |
download | hdf5-1e38c1378582208f6f109042c37c8fff858f985d.zip hdf5-1e38c1378582208f6f109042c37c8fff858f985d.tar.gz hdf5-1e38c1378582208f6f109042c37c8fff858f985d.tar.bz2 |
[svn-r633] Changes since 19980828
----------------------
./RELEASE
Updated with important changes I made since the second beta.
./src/H5A.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5G.c
./src/H5Gprivate.h
./src/H5R.c
./src/H5Rprivate.h
./src/H5T.c
./src/H5Tprivate.h
Any API function that used to take an `hid_t loc_id' followed
by a `const char *name' can now take any type of object for
the loc_id as long as the object is somehow associated with a
file. Internally, H5G_loc() was modified to return an
H5G_entry_t* instead of an H5G_t* so it's more general.
Among other things, this allows one to retrieve information
about an object like a named type or dataset without knowing
the name of the type or dataset:
int
get_nlinks (hid_t obj)
{
H5G_stat_t sb;
if (H5Gstat(obj, ".", TRUE, &sb)<0) return -1;
return sb.nlink;
}
./test/gheap.c
./test/istore.c
These files needed a couple of changes because they call some
of the internal functions whose H5G_t arguments changed to
H5G_entry_t.
./src/H5A.c
Got rid of all the switch statements for getting symbol table
entries for varous objects and replaced them with a call to
H5G_loc() allowing attributes to automatically apply to any
type of object that belongs to a file.
./test/Makefile.in
Moved the ragged array tests from the normal list of tests to
the `make timings' target.
./test/ragged.c
Added rewrite tests -- rewrite the rows of a dataset changing
the number of rows and the length of each row.
./test/mtime.c
Added a test that checks that H5Gstat() can be called with a
dataset as the first argument.
./src/H5S.c
Added #ifdef HAVE_PARALLEL around code to check for the
HDF5_MPI_OPT_TYPES environment variable because the global
variable that gets set is #ifdef'd.
./bin/release
bzip2 uses .bz2 as the file extension.
Diffstat (limited to 'src/H5D.c')
-rw-r--r-- | src/H5D.c | 20 |
1 files changed, 8 insertions, 12 deletions
@@ -181,7 +181,7 @@ hid_t H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t plist_id) { - H5G_t *loc = NULL; + H5G_entry_t *loc = NULL; H5T_t *type = NULL; H5S_t *space = NULL; H5D_t *new_dset = NULL; @@ -253,7 +253,7 @@ H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t H5Dopen(hid_t loc_id, const char *name) { - H5G_t *loc = NULL; /*location holding the dataset */ + H5G_entry_t *loc = NULL; /*location holding the dataset */ H5D_t *dataset = NULL; /*the dataset */ hid_t ret_value = FAIL; @@ -813,15 +813,15 @@ H5Dextend(hid_t dset_id, const hsize_t *size) *------------------------------------------------------------------------- */ H5D_t * -H5D_create(H5G_t *loc, const char *name, const H5T_t *type, const H5S_t *space, - const H5D_create_t *create_parms) +H5D_create(H5G_entry_t *loc, const char *name, const H5T_t *type, + const H5S_t *space, const H5D_create_t *create_parms) { H5D_t *new_dset = NULL; H5D_t *ret_value = NULL; intn i, ndims; hsize_t max_dim[H5O_LAYOUT_NDIMS]; H5O_efl_t *efl = NULL; - H5F_t *f = H5G_fileof (loc); + H5F_t *f = loc->file; FUNC_ENTER(H5D_create, NULL); @@ -1052,15 +1052,12 @@ H5D_create(H5G_t *loc, const char *name, const H5T_t *type, const H5S_t *space, *------------------------------------------------------------------------- */ H5D_t * -H5D_open(H5G_t *loc, const char *name) +H5D_open(H5G_entry_t *loc, const char *name) { H5D_t *dataset = NULL; /*the dataset which was found */ H5D_t *ret_value = NULL; /*return value */ intn i; H5S_t *space = NULL; -#ifdef HAVE_PARALLEL - H5F_t *f = NULL; -#endif FUNC_ENTER(H5D_open, NULL); @@ -1102,9 +1099,8 @@ H5D_open(H5G_t *loc, const char *name) } #ifdef HAVE_PARALLEL - f = H5G_fileof (loc); /* If MPIO is used, no filter support yet. */ - if (f->shared->access_parms->driver == H5F_LOW_MPIO && + if (dataset->ent.file->shared->access_parms->driver == H5F_LOW_MPIO && dataset->create_parms->pline.nfilters>0){ HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, NULL, "Parallel IO does not support filters yet"); @@ -1160,7 +1156,7 @@ H5D_open(H5G_t *loc, const char *name) */ if (dataset->ent.file->shared->access_parms->driver==H5F_LOW_MPIO && dataset->layout.type == H5D_CHUNKED && - (f->intent & H5F_ACC_RDWR)){ + (dataset->ent.file->intent & H5F_ACC_RDWR)){ if (H5D_allocate(dataset)==FAIL){ HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "fail in file space allocation dataset"); |