summaryrefslogtreecommitdiffstats
path: root/src/H5P.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-04-08 21:43:02 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-04-08 21:43:02 (GMT)
commitc01750fa740943c0083711b353278143c79d50a3 (patch)
treefd475b7c7a3639c05b30625b43547850d687b948 /src/H5P.c
parent68fa66bf8130d6a6e607e233da8cc61a154bf172 (diff)
downloadhdf5-c01750fa740943c0083711b353278143c79d50a3.zip
hdf5-c01750fa740943c0083711b353278143c79d50a3.tar.gz
hdf5-c01750fa740943c0083711b353278143c79d50a3.tar.bz2
[svn-r338] Changes since 19980407
---------------------- ./src/H5B.c ./src/H5D.c ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5MF.c ./src/H5MFprivate.h ./src/H5O.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Olayout.c ./src/H5Oname.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5S.c ./src/H5Sprivate.h ./src/H5Spublic.h ./src/H5Ssimp.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5V.c ./src/H5Vprivate.h ./src/H5private.h ./src/H5public.h ./src/h5ls.c ./test/cmpd_dset.c ./test/dsets.c ./test/extend.c ./test/external.c ./test/hyperslab.c ./test/iopipe.c ./test/istore.c ./test/shtype.c ./test/tfile.c ./test/th5s.c Anything having to do with the size of a dataset now uses the types `hsize_t' and `hssize_t' which must be the same size and at least as large as `size_t'. This isn't fully tested yet, so hsize_t and hssize_t are defined as size_t and ssize_t in H5public.h. Setting them to larger values will trip up gcc versions less than 2.8.1 on x86 platforms. Documented unused function formals with `__unused__' before the formal name. This also has the effect of supressing warning messages for gcc since it's defined to be `__attribute__((unused))' in the H5private.h file. ./src/debug.c ./src/h5ls.c If the file name contains a `%' then the file is opened as a file family with H5P_DEFAULT for the file member access property list. ./src/h5ls.c The group name is optional, defaulting to `/'. ./src/hdf5.h Added some missing public header files.
Diffstat (limited to 'src/H5P.c')
-rw-r--r--src/H5P.c44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/H5P.c b/src/H5P.c
index 0d30037..6e67b4f 100644
--- a/src/H5P.c
+++ b/src/H5P.c
@@ -447,9 +447,9 @@ H5Pget_version(hid_t tid, int *boot/*out*/, int *freelist/*out*/,
*-------------------------------------------------------------------------
*/
herr_t
-H5Pset_userblock(hid_t tid, size_t size)
+H5Pset_userblock(hid_t tid, hsize_t size)
{
- intn i;
+ uintn i;
H5F_create_t *tmpl = NULL;
FUNC_ENTER(H5Pset_userblock, FAIL);
@@ -460,11 +460,11 @@ H5Pset_userblock(hid_t tid, size_t size)
HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
"not a file creation template");
}
- for (i=8; i<8*(intn)sizeof(int); i++) {
- uintn p2 = 8 == i ? 0 : 1 << i;
+ for (i=8; i<8*sizeof(hsize_t); i++) {
+ hsize_t p2 = 8==i ? 0 : ((hsize_t)1<<i);
if (size == p2) break;
}
- if (i>=8*(intn)sizeof(int)) {
+ if (i>=8*sizeof(hsize_t)) {
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"userblock size is not valid");
}
@@ -491,9 +491,9 @@ H5Pset_userblock(hid_t tid, size_t size)
*-------------------------------------------------------------------------
*/
herr_t
-H5Pget_userblock(hid_t tid, size_t *size)
+H5Pget_userblock(hid_t tid, hsize_t *size)
{
- H5F_create_t *tmpl = NULL;
+ H5F_create_t *tmpl = NULL;
FUNC_ENTER(H5Pget_userblock, FAIL);
@@ -504,8 +504,7 @@ H5Pget_userblock(hid_t tid, size_t *size)
"not a file creation template");
}
/* Get value */
- if (size)
- *size = tmpl->userblock_size;
+ if (size) *size = tmpl->userblock_size;
FUNC_LEAVE(SUCCEED);
}
@@ -870,7 +869,7 @@ H5Pget_layout(hid_t tid)
*-------------------------------------------------------------------------
*/
herr_t
-H5Pset_chunk(hid_t tid, int ndims, const size_t dim[])
+H5Pset_chunk(hid_t tid, int ndims, const hsize_t dim[])
{
int i;
H5D_create_t *tmpl = NULL;
@@ -887,7 +886,7 @@ H5Pset_chunk(hid_t tid, int ndims, const size_t dim[])
HRETURN_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL,
"chunk dimensionality must be positive");
}
- if (ndims > (intn)NELMTS(tmpl->chunk_size)) {
+ if ((size_t)ndims > NELMTS(tmpl->chunk_size)) {
HRETURN_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL,
"chunk dimensionality is too large");
}
@@ -895,7 +894,7 @@ H5Pset_chunk(hid_t tid, int ndims, const size_t dim[])
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"no chunk dimensions specified");
}
- for (i = 0; i < ndims; i++) {
+ for (i=0; i<ndims; i++) {
if (dim[i] <= 0) {
HRETURN_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL,
"all chunk dimensions must be positive");
@@ -905,8 +904,9 @@ H5Pset_chunk(hid_t tid, int ndims, const size_t dim[])
/* Set value */
tmpl->layout = H5D_CHUNKED;
tmpl->chunk_ndims = ndims;
- for (i = 0; i < ndims; i++)
+ for (i = 0; i < ndims; i++) {
tmpl->chunk_size[i] = dim[i];
+ }
FUNC_LEAVE(SUCCEED);
}
@@ -931,10 +931,10 @@ H5Pset_chunk(hid_t tid, int ndims, const size_t dim[])
*-------------------------------------------------------------------------
*/
int
-H5Pget_chunk(hid_t tid, int max_ndims, size_t dim[] /*out */ )
+H5Pget_chunk(hid_t tid, int max_ndims, hsize_t dim[]/*out*/)
{
- int i;
- H5D_create_t *tmpl = NULL;
+ int i;
+ H5D_create_t *tmpl = NULL;
FUNC_ENTER(H5Pget_chunk, FAIL);
@@ -948,7 +948,7 @@ H5Pget_chunk(hid_t tid, int max_ndims, size_t dim[] /*out */ )
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"not a chunked storage layout");
}
- for (i = 0; i < tmpl->chunk_ndims && i < max_ndims && dim; i++) {
+ for (i=0; i<tmpl->chunk_ndims && i<max_ndims && dim; i++) {
dim[i] = tmpl->chunk_size[i];
}
@@ -984,7 +984,7 @@ H5Pget_chunk(hid_t tid, int max_ndims, size_t dim[] /*out */ )
*-------------------------------------------------------------------------
*/
herr_t
-H5Pset_external (hid_t plist_id, const char *name, size_t offset, size_t size)
+H5Pset_external (hid_t plist_id, const char *name, off_t offset, hsize_t size)
{
int idx;
size_t total, tmp;
@@ -1002,6 +1002,10 @@ H5Pset_external (hid_t plist_id, const char *name, size_t offset, size_t size)
HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
"no name given");
}
+ if (offset<0) {
+ HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
+ "negative external file offset");
+ }
if (size<=0) {
HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
"zero size");
@@ -1104,7 +1108,7 @@ H5Pget_external_count (hid_t plist_id)
*/
herr_t
H5Pget_external (hid_t plist_id, int idx, size_t name_size, char *name/*out*/,
- size_t *offset/*out*/, size_t *size/*out*/)
+ off_t *offset/*out*/, hsize_t *size/*out*/)
{
H5D_create_t *plist = NULL;
@@ -1590,7 +1594,7 @@ H5Pset_family (hid_t tid, hid_t memb_tid)
{
H5F_access_t *tmpl = NULL;
- H5F_access_t *memb_tmpl = NULL;
+ H5F_access_t *memb_tmpl = &H5F_access_dflt;
FUNC_ENTER (H5Pset_family, FAIL);