summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hl/test/test_lite.c1
-rw-r--r--src/H5C.c7
-rw-r--r--src/H5D.c1
-rw-r--r--src/H5Dbtree.c1
-rw-r--r--src/H5Dchunk.c3
-rw-r--r--src/H5Dcontig.c1
-rw-r--r--src/H5Ddbg.c1
-rw-r--r--src/H5Ddeprec.c1
-rw-r--r--src/H5Dfill.c1
-rw-r--r--src/H5Dint.c4
-rw-r--r--src/H5Dlayout.c2
-rw-r--r--src/H5Dpkg.h1
-rw-r--r--src/H5EA.c6
-rw-r--r--src/H5EAtest.c2
-rw-r--r--src/H5FA.c2
-rw-r--r--src/H5FApkg.h2
-rw-r--r--src/H5FDcore.c2
-rw-r--r--src/H5FDdirect.c2
-rw-r--r--src/H5FDlog.c2
-rw-r--r--src/H5FDmpiposix.c2
-rw-r--r--src/H5FDstdio.c4
-rw-r--r--src/H5FDwindows.c2
-rw-r--r--src/H5Fsuper_cache.c2
-rw-r--r--src/H5O.c4
-rw-r--r--src/H5Oalloc.c5
-rw-r--r--src/H5Olayout.c7
-rw-r--r--src/H5Opkg.h1
-rw-r--r--src/H5Oprivate.h9
-rw-r--r--src/H5V.c69
-rw-r--r--src/H5Vprivate.h2
-rw-r--r--test/tmisc.c2
-rw-r--r--tools/h5copy/h5copygentest.c1
-rw-r--r--tools/h5copy/testh5copy.sh1
-rw-r--r--tools/h5dump/h5dumpgentest.c6
-rw-r--r--tools/h5repack/h5repack.c2
-rw-r--r--tools/h5repack/h5repack_main.c2
-rw-r--r--tools/h5repack/h5repacktst.c4
-rw-r--r--tools/h5stat/h5stat.c9
-rw-r--r--tools/h5stat/testh5stat.sh.in1
39 files changed, 110 insertions, 67 deletions
diff --git a/hl/test/test_lite.c b/hl/test/test_lite.c
index b538550..2b36eb6 100644
--- a/hl/test/test_lite.c
+++ b/hl/test/test_lite.c
@@ -1292,7 +1292,6 @@ static int test_enums(void)
H5T_class_t type_class;
char* dt_str;
size_t str_len;
- H5T_order_t native_order = H5Tget_order(H5T_NATIVE_INT);
TESTING3(" text for enum types");
diff --git a/src/H5C.c b/src/H5C.c
index 5c8a8cd..2289a42 100644
--- a/src/H5C.c
+++ b/src/H5C.c
@@ -5957,8 +5957,8 @@ H5C_adjust_flush_dependency_rc(H5C_cache_entry_t * cache_entry,
* Function: H5C_create_flush_dependency()
*
* Purpose: Initiates a parent<->child entry flush dependency. The parent
- * entry must be protected at the time of call, and must have all
- * dependencies removed before the cache can shut down.
+ * entry must be pinned or protected at the time of call, and must
+ * have all dependencies removed before the cache can shut down.
*
* Note: Flush dependencies in the cache indicate that a child entry
* must be flushed to the file before its parent. (This is
@@ -5971,8 +5971,7 @@ H5C_adjust_flush_dependency_rc(H5C_cache_entry_t * cache_entry,
* dependency height of its children.
*
* Creating a flush dependency between two entries will also pin
- * the parent entry. (The parent entry must _not_ be pinned
- * through some other mechanism)
+ * the parent entry.
*
* Return: Non-negative on success/Negative on failure
*
diff --git a/src/H5D.c b/src/H5D.c
index da8b0a6..30ce594 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -27,7 +27,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
#include "H5FLprivate.h" /* Free lists */
diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c
index a7e61ce..374c1b6 100644
--- a/src/H5Dbtree.c
+++ b/src/H5Dbtree.c
@@ -33,7 +33,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Bprivate.h" /* B-link trees */
#include "H5Dpkg.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index 2e0b096..9b9298e 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -51,7 +51,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Dataset functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5FLprivate.h" /* Free Lists */
@@ -511,7 +510,7 @@ H5D_chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id)
if(dset->shared->layout.storage.u.chunk.ops->init && (dset->shared->layout.storage.u.chunk.ops->init)(&idx_info, dset->shared->space, dset->oloc.addr) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize indexing information")
- /* Set the number of chunks in dataset */
+ /* Set the number of chunks in dataset, etc. */
if(H5D_chunk_set_info(dset) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set # of chunks for dataset")
diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c
index ca3b09e..567f4c9 100644
--- a/src/H5Dcontig.c
+++ b/src/H5Dcontig.c
@@ -34,7 +34,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Dataset functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5Fprivate.h" /* Files */
diff --git a/src/H5Ddbg.c b/src/H5Ddbg.c
index 2feb773..fa4c54c 100644
--- a/src/H5Ddbg.c
+++ b/src/H5Ddbg.c
@@ -27,7 +27,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
#include "H5Iprivate.h" /* IDs */
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c
index cecf4a2..b06bce1 100644
--- a/src/H5Ddeprec.c
+++ b/src/H5Ddeprec.c
@@ -41,7 +41,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Datasets */
#include "H5Eprivate.h" /* Error handling */
#include "H5Iprivate.h" /* IDs */
diff --git a/src/H5Dfill.c b/src/H5Dfill.c
index 7180c8c..f418a81 100644
--- a/src/H5Dfill.c
+++ b/src/H5Dfill.c
@@ -34,7 +34,6 @@
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
#include "H5Dpkg.h" /* Dataset functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5FLprivate.h" /* Free Lists */
diff --git a/src/H5Dint.c b/src/H5Dint.c
index cef551a..6253aa6 100644
--- a/src/H5Dint.c
+++ b/src/H5Dint.c
@@ -797,9 +797,11 @@ H5D_update_oh_info(H5F_t *file, hid_t dxpl_id, H5D_t *dset, hid_t dapl_id)
if(NULL == (oh = H5O_pin(oloc, dxpl_id)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTPIN, FAIL, "unable to pin dataset object header")
- /* Update the datatype and dataspace header messages */
+ /* Write the dataspace header message */
if(H5S_append(file, dxpl_id, oh, dset->shared->space) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update dataspace header message")
+
+ /* Write the datatype header message */
if(H5O_msg_append_oh(file, dxpl_id, oh, H5O_DTYPE_ID, H5O_MSG_FLAG_CONSTANT, 0, type) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update datatype header message")
diff --git a/src/H5Dlayout.c b/src/H5Dlayout.c
index 0245bec..6aa5b44 100644
--- a/src/H5Dlayout.c
+++ b/src/H5Dlayout.c
@@ -441,7 +441,7 @@ done:
/*-------------------------------------------------------------------------
* Function: H5D_layout_oh_write
*
- * Purpose: Read layout/pline/efl information for dataset
+ * Purpose: Write layout/pline/efl information for dataset
*
* Return: Success: SUCCEED
* Failure: FAIL
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index 38f1ab4..dbd495c 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -32,6 +32,7 @@
#include "H5Dprivate.h"
/* Other private headers needed by this file */
+#include "H5ACprivate.h" /* Metadata cache */
#include "H5Gprivate.h" /* Groups */
#include "H5SLprivate.h" /* Skip lists */
#include "H5Tprivate.h" /* Datatypes */
diff --git a/src/H5EA.c b/src/H5EA.c
index f8a2969..cca51a8 100644
--- a/src/H5EA.c
+++ b/src/H5EA.c
@@ -87,7 +87,7 @@ typedef herr_t (*H5EA__unprotect_func_t)(void *thing, hid_t dxpl_id,
extern const H5EA_class_t H5EA_CLS_TEST[1];
const H5EA_class_t *const H5EA_client_class_g[] = {
- H5EA_CLS_TEST, /* 0 - H5EA_TEST_ID */
+ H5EA_CLS_TEST, /* ? - H5EA_CLS_TEST_ID */
};
@@ -820,7 +820,7 @@ HDfprintf(stderr, "%s: Called\n", FUNC);
/* Set the shared array header's file context for this operation */
hdr->f = ea->f;
- /* Set up flush dependency between child_entry and metadata array 'thing' */
+ /* Set up flush dependency between parent entry and extensible array header */
if(H5EA__create_flush_depend(parent_entry, (H5AC_info_t *)hdr) < 0)
H5E_THROW(H5E_CANTDEPEND, "unable to create flush dependency on file metadata")
@@ -863,7 +863,7 @@ HDfprintf(stderr, "%s: Called\n", FUNC);
/* Set the shared array header's file context for this operation */
hdr->f = ea->f;
- /* Remove flush dependency between child_entry and metadata array 'thing' */
+ /* Remove flush dependency between parent entry and extensible array header */
if(H5EA__destroy_flush_depend(parent_entry, (H5AC_info_t *)hdr) < 0)
H5E_THROW(H5E_CANTUNDEPEND, "unable to destroy flush dependency on file metadata")
diff --git a/src/H5EAtest.c b/src/H5EAtest.c
index 58da489..87f9195 100644
--- a/src/H5EAtest.c
+++ b/src/H5EAtest.c
@@ -50,6 +50,7 @@
/* Sanity checking value for callback contexts */
#define H5EA__TEST_BOGUS_VAL 42
+
/******************/
/* Local Typedefs */
/******************/
@@ -60,6 +61,7 @@ typedef struct H5EA__test_ctx_t {
H5EA__ctx_cb_t *cb; /* Pointer to context's callback action */
} H5EA__test_ctx_t;
+
/********************/
/* Package Typedefs */
/********************/
diff --git a/src/H5FA.c b/src/H5FA.c
index b235ef9..a30a4aa 100644
--- a/src/H5FA.c
+++ b/src/H5FA.c
@@ -78,7 +78,7 @@
extern const H5FA_class_t H5FA_CLS_TEST[1];
const H5FA_class_t *const H5FA_client_class_g[] = {
- H5FA_CLS_TEST, /* 0 - H5FA_TEST_ID */
+ H5FA_CLS_TEST, /* ? - H5FA_CLS_TEST_ID */
};
diff --git a/src/H5FApkg.h b/src/H5FApkg.h
index ddc4c59..9f82a32 100644
--- a/src/H5FApkg.h
+++ b/src/H5FApkg.h
@@ -224,9 +224,7 @@ H5_DLLVAR const H5FA_class_t H5FA_CLS_CHUNK[1];
H5_DLLVAR const H5FA_class_t H5FA_CLS_FILT_CHUNK[1];
/* Internal fixed array testing class */
-#ifdef H5FA_TESTING
H5_DLLVAR const H5FA_class_t H5FA_CLS_TEST[1];
-#endif /* H5FA_TESTING */
/* Array of fixed array client ID -> client class mappings */
extern const H5FA_class_t *const H5FA_client_class_g[H5FA_NUM_CLS_ID];
diff --git a/src/H5FDcore.c b/src/H5FDcore.c
index 3a56524..b3cc84d 100644
--- a/src/H5FDcore.c
+++ b/src/H5FDcore.c
@@ -900,7 +900,7 @@ H5FD_core_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t UNUSED dxpl_id, hadd
HGOTO_ERROR(H5E_IO, H5E_OVERFLOW, FAIL, "file address overflowed")
if (REGION_OVERFLOW(addr, size))
HGOTO_ERROR(H5E_IO, H5E_OVERFLOW, FAIL, "file address overflowed")
- if (addr + size > file->eoa)
+ if((addr + size) > file->eoa)
HGOTO_ERROR(H5E_IO, H5E_OVERFLOW, FAIL, "file address overflowed")
/* Read the part which is before the EOF marker */
diff --git a/src/H5FDdirect.c b/src/H5FDdirect.c
index fff31f3..8219941 100644
--- a/src/H5FDdirect.c
+++ b/src/H5FDdirect.c
@@ -928,7 +928,7 @@ H5FD_direct_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t UNUSED dxpl_id, ha
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "addr undefined")
if (REGION_OVERFLOW(addr, size))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
- if (addr+size>file->eoa)
+ if((addr + size) > file->eoa)
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
/* If the system doesn't require data to be aligned, read the data in
diff --git a/src/H5FDlog.c b/src/H5FDlog.c
index 0da5765..c21fc92 100644
--- a/src/H5FDlog.c
+++ b/src/H5FDlog.c
@@ -1056,7 +1056,7 @@ H5FD_log_read(H5FD_t *_file, H5FD_mem_t type, hid_t UNUSED dxpl_id, haddr_t addr
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "addr undefined")
if (REGION_OVERFLOW(addr, size))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
- if (addr+size>file->eoa)
+ if((addr + size) > file->eoa)
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
/* Log the I/O information about the read */
diff --git a/src/H5FDmpiposix.c b/src/H5FDmpiposix.c
index ff5b118..d5e58e9 100644
--- a/src/H5FDmpiposix.c
+++ b/src/H5FDmpiposix.c
@@ -1131,7 +1131,7 @@ H5FD_mpiposix_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t UNUSED dxpl_id,
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "addr undefined")
if (REGION_OVERFLOW(addr, size))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
- if (addr+size>file->eoa)
+ if((addr + size) > file->eoa)
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
#ifdef REPORT_IO
diff --git a/src/H5FDstdio.c b/src/H5FDstdio.c
index 7fffbd4..b241f4d 100644
--- a/src/H5FDstdio.c
+++ b/src/H5FDstdio.c
@@ -791,8 +791,8 @@ H5FD_stdio_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, siz
H5Epush_ret (func, H5E_ERR_CLS, H5E_IO, H5E_OVERFLOW, "file address overflowed", -1)
if (REGION_OVERFLOW(addr, size))
H5Epush_ret (func, H5E_ERR_CLS, H5E_IO, H5E_OVERFLOW, "file address overflowed", -1)
- if (addr+size>file->eoa)
- H5Epush_ret (func, H5E_ERR_CLS, H5E_IO, H5E_OVERFLOW, "file address overflowed", -1)
+ if((addr + size) > file->eoa)
+ H5Epush_ret(func, H5E_ERR_CLS, H5E_IO, H5E_OVERFLOW, "file address overflowed", -1)
/* Check easy cases */
if (0 == size)
diff --git a/src/H5FDwindows.c b/src/H5FDwindows.c
index aca03c8..47c7f2d 100644
--- a/src/H5FDwindows.c
+++ b/src/H5FDwindows.c
@@ -799,7 +799,7 @@ H5FD_windows_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t UNUSED dxpl_id, h
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "addr undefined")
if (REGION_OVERFLOW(addr, size))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
- if (addr+size>file->eoa)
+ if((addr + size) > file->eoa)
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow")
/* Seek to the correct location */
diff --git a/src/H5Fsuper_cache.c b/src/H5Fsuper_cache.c
index f5e5a75..cb74322 100644
--- a/src/H5Fsuper_cache.c
+++ b/src/H5Fsuper_cache.c
@@ -183,7 +183,7 @@ H5F_sblock_load(H5F_t *f, hid_t dxpl_id, haddr_t UNUSED addr, const void UNUSED
HDassert(fixed_size + variable_size <= sizeof(sbuf));
/* Read in variable-sized portion of superblock */
- if(H5FD_set_eoa(lf, H5FD_MEM_SUPER, (haddr_t)fixed_size + variable_size) < 0)
+ if(H5FD_set_eoa(lf, H5FD_MEM_SUPER, (haddr_t)(fixed_size + variable_size)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "set end of space allocation request failed")
if(H5FD_read(lf, dxpl_id, H5FD_MEM_SUPER, (haddr_t)fixed_size, variable_size, p) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to read superblock")
diff --git a/src/H5O.c b/src/H5O.c
index a2b592b..340f88e 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -125,8 +125,8 @@ const H5O_msg_class_t *const H5O_msg_class_g[] = {
H5O_MSG_DRVINFO, /*0x0014 Driver info settings */
H5O_MSG_AINFO, /*0x0015 Attribute information */
H5O_MSG_REFCOUNT, /*0x0016 Object's ref. count */
- H5O_MSG_FSINFO, /*0x0018 Free-space manager info message */
- H5O_MSG_UNKNOWN, /*0x0017 Placeholder for unknown message */
+ H5O_MSG_FSINFO, /*0x0017 Free-space manager info message */
+ H5O_MSG_UNKNOWN, /*0x0018 Placeholder for unknown message */
};
/* Declare a free list to manage the H5O_t struct */
diff --git a/src/H5Oalloc.c b/src/H5Oalloc.c
index 6b921f2..64d2f03 100644
--- a/src/H5Oalloc.c
+++ b/src/H5Oalloc.c
@@ -1128,7 +1128,10 @@ H5O_alloc(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_msg_class_t *type,
HDassert(mesg);
/* Compute the size needed to store the message in the object header */
- if((raw_size = (type->raw_size)(f, FALSE, mesg)) >= H5O_MESG_MAX_SIZE)
+ raw_size = (type->raw_size)(f, FALSE, mesg);
+ if(0 == raw_size)
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "can't compute object header message size")
+ if(raw_size >= H5O_MESG_MAX_SIZE)
HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "object header message is too large")
aligned_size = H5O_ALIGN_OH(oh, raw_size);
diff --git a/src/H5Olayout.c b/src/H5Olayout.c
index a34dcc2..67dbf4d 100644
--- a/src/H5Olayout.c
+++ b/src/H5Olayout.c
@@ -58,15 +58,15 @@ const H5O_msg_class_t H5O_MSG_LAYOUT[1] = {{
H5O_layout_encode, /*encode message */
H5O_layout_copy, /*copy the native value */
H5O_layout_size, /*size of message on disk */
- H5O_layout_reset, /*reset method */
+ H5O_layout_reset, /*reset method */
H5O_layout_free, /*free the struct */
H5O_layout_delete, /* file delete method */
NULL, /* link method */
NULL, /*set share method */
NULL, /*can share method */
NULL, /* pre copy native value to file */
- H5O_layout_copy_file, /* copy native value to file */
- NULL, /* post copy native value to file */
+ H5O_layout_copy_file, /* copy native value to file */
+ NULL, /* post copy native value to file */
NULL, /* get creation index */
NULL, /* set creation index */
H5O_layout_debug /*debug the message */
@@ -589,6 +589,7 @@ H5O_layout_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst,
FUNC_ENTER_NOAPI_NOINIT(H5O_layout_copy_file)
/* check args */
+ HDassert(file_src);
HDassert(layout_src);
HDassert(file_dst);
diff --git a/src/H5Opkg.h b/src/H5Opkg.h
index 7e1ff4c..b64cf64 100644
--- a/src/H5Opkg.h
+++ b/src/H5Opkg.h
@@ -504,6 +504,7 @@ H5_DLLVAR const H5O_msg_class_t H5O_MSG_FSINFO[1];
/* Placeholder for unknown message. (0x0018) */
H5_DLLVAR const H5O_msg_class_t H5O_MSG_UNKNOWN[1];
+
/*
* Object header "object" types
*/
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index eab5d2c..c38ddea 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -154,7 +154,7 @@ typedef struct H5O_copy_t {
#define H5O_FILL_NEW_ID 0x0005 /* Fill Value Message. (New) */
#define H5O_LINK_ID 0x0006 /* Link Message. */
#define H5O_EFL_ID 0x0007 /* External File List Message */
-#define H5O_LAYOUT_ID 0x0008 /* Data Storage Layout Message. */
+#define H5O_LAYOUT_ID 0x0008 /* Data Layout Message. */
#define H5O_BOGUS_ID 0x0009 /* "Bogus" Message. */
#define H5O_GINFO_ID 0x000a /* Group info Message. */
#define H5O_PLINE_ID 0x000b /* Filter pipeline message. */
@@ -346,7 +346,12 @@ typedef struct H5O_efl_t {
*/
#define H5O_LAYOUT_VERSION_3 3
-/* This version adds different types of indices to chunked datasets */
+/* This version adds different types of indices to chunked datasets, allows
+ * for larger chunk dimensions, stores chunk indices into their own
+ * message (the "layout index" message), adds features for compact/dense
+ * storage of elements and/or chunk records, adds features for abbreviating
+ * the storage used for partial chunks on boundaries, etc.
+ */
#define H5O_LAYOUT_VERSION_4 4
/* The latest version of the format. Look through the 'encode'
diff --git a/src/H5V.c b/src/H5V.c
index 34cf714..48fa9ab 100644
--- a/src/H5V.c
+++ b/src/H5V.c
@@ -1132,6 +1132,47 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5V_array_calc_pre
+ *
+ * Purpose: Given a linear offset in an array, the dimensions of that
+ * array and the pre-computed 'down' (accumulator) sizes, this
+ * function computes the coordinates of that offset in the array.
+ *
+ * The dimensionality of the whole array, and the coordinates is N.
+ * The array dimensions are TOTAL_SIZE and the coordinates
+ * are returned in COORD. The linear offset is in OFFSET.
+ *
+ * Return: Non-negative on success/Negative on failure
+ *
+ * Programmer: Quincey Koziol
+ * Thursday, July 16, 2009
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5V_array_calc_pre(hsize_t offset, unsigned n, const hsize_t *total_size,
+ const hsize_t *down, hsize_t *coords)
+{
+ unsigned u; /* Local index variable */
+
+ FUNC_ENTER_NOAPI_NOFUNC(H5V_array_calc_pre)
+
+ /* Sanity check */
+ HDassert(n <= H5V_HYPER_NDIMS);
+ HDassert(total_size);
+ HDassert(coords);
+
+ /* Compute the coordinates from the offset */
+ for(u = 0; u < n; u++) {
+ coords[u] = offset / down[u];
+ offset %= down[u];
+ } /* end for */
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5V_array_calc_pre() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5V_array_calc
*
* Purpose: Given a linear offset in an array and the dimensions of that
@@ -1155,31 +1196,25 @@ herr_t
H5V_array_calc(hsize_t offset, unsigned n, const hsize_t *total_size, hsize_t *coords)
{
hsize_t idx[H5V_HYPER_NDIMS]; /* Size of each dimension in bytes */
- hsize_t acc; /* Size accumulator */
- unsigned u; /* Local index variable */
- int i; /* Local index variable */
+ herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOFUNC(H5V_array_calc)
+ FUNC_ENTER_NOAPI(H5V_array_calc, FAIL)
/* Sanity check */
- assert(n <= H5V_HYPER_NDIMS);
- assert(total_size);
- assert(coords);
+ HDassert(n <= H5V_HYPER_NDIMS);
+ HDassert(total_size);
+ HDassert(coords);
/* Build the sizes of each dimension in the array */
- /* (From fastest to slowest) */
- for(i=(int)(n-1),acc=1; i>=0; i--) {
- idx[i]=acc;
- acc *= total_size[i];
- } /* end for */
+ if(H5V_array_down(n, total_size, idx) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_BADVALUE, FAIL, "can't compute down sizes")
/* Compute the coordinates from the offset */
- for(u=0; u<n; u++) {
- coords[u]=offset/idx[u];
- offset %= idx[u];
- } /* end for */
+ if(H5V_array_calc_pre(offset, n, total_size, idx, coords) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_BADVALUE, FAIL, "can't compute coordinates")
- FUNC_LEAVE_NOAPI(SUCCEED)
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* end H5V_array_calc() */
diff --git a/src/H5Vprivate.h b/src/H5Vprivate.h
index 1dec0c0..e351f86 100644
--- a/src/H5Vprivate.h
+++ b/src/H5Vprivate.h
@@ -83,6 +83,8 @@ H5_DLL hsize_t H5V_array_offset_pre(unsigned n,
const hsize_t *acc, const hsize_t *offset);
H5_DLL hsize_t H5V_array_offset(unsigned n, const hsize_t *total_size,
const hsize_t *offset);
+H5_DLL herr_t H5V_array_calc_pre(hsize_t offset, unsigned n, const hsize_t *total_size,
+ const hsize_t *down, hsize_t *coords);
H5_DLL herr_t H5V_array_calc(hsize_t offset, unsigned n,
const hsize_t *total_size, hsize_t *coords);
H5_DLL herr_t H5V_chunk_index(unsigned ndims, const hsize_t *coord,
diff --git a/test/tmisc.c b/test/tmisc.c
index d65f066..b7ed202 100644
--- a/test/tmisc.c
+++ b/test/tmisc.c
@@ -1844,7 +1844,7 @@ test_misc11(void)
ret=H5Pset_shared_mesg_nindexes(fcpl,MISC11_NINDEXES);
CHECK(ret, FAIL, "H5Pset_shared_mesg");
- ret = H5Pset_file_space(fcpl, H5F_FILE_SPACE_VFD, 0);
+ ret = H5Pset_file_space(fcpl, H5F_FILE_SPACE_VFD, (hsize_t)0);
CHECK(ret, FAIL, "H5Pset_file_space");
/* Creating a file with the non-default file creation property list should
diff --git a/tools/h5copy/h5copygentest.c b/tools/h5copy/h5copygentest.c
index 42bc3cd..b6346de 100644
--- a/tools/h5copy/h5copygentest.c
+++ b/tools/h5copy/h5copygentest.c
@@ -528,7 +528,6 @@ static herr_t gen_region_ref(hid_t loc_id)
char data[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"};
hsize_t dims2[2] = {3,16};
hsize_t coords[4][2] = { {0,1}, {2,11}, {1,0}, {2,4} };
-
hdset_reg_ref_t rr_data[2];
hsize_t start[2] = {0,0};
hsize_t stride[2] = {2,11};
diff --git a/tools/h5copy/testh5copy.sh b/tools/h5copy/testh5copy.sh
index 31104dd..3f24bdf 100644
--- a/tools/h5copy/testh5copy.sh
+++ b/tools/h5copy/testh5copy.sh
@@ -261,6 +261,7 @@ COPY_OBJECTS()
# Remove any output file left over from previous test run
rm -f $FILEOUT
+ echo "Testing from `basename $TESTFILE` to `basename $FILEOUT` for the following tests:"
echo "Test copying various forms of datasets"
TOOLTEST -i $TESTFILE -o $FILEOUT -v -s simple -d simple
TOOLTEST -i $TESTFILE -o $FILEOUT -v -s chunk -d chunk
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index f8c7d11..45aa53c 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -105,6 +105,8 @@
/* utility functions */
static int
+make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t tid, hid_t dcpl, void *buf);
+static int
write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name,
hid_t tid, void *buf);
static int
@@ -382,7 +384,6 @@ gent_dataset2(void)
H5Fclose(fid);
}
-
static void
gent_attribute(void)
{
@@ -2957,7 +2958,6 @@ static void gent_array8(void)
hsize_t sdims[] = {F64_DIM0};
hsize_t tdims[] = {F64_DIM1};
int wdata[(F64_DIM1) * sizeof(int)]; /* Write buffer */
- int ndims;
int i;
/*
@@ -6502,7 +6502,7 @@ gent_fs_strategy_threshold(void)
fcpl = H5Pcreate(H5P_FILE_CREATE);
/* Set file space information */
- H5Pset_file_space(fcpl, STRATEGY, THRESHOLD10);
+ H5Pset_file_space(fcpl, STRATEGY, (hsize_t)THRESHOLD10);
/* Create the file with the specified strategy and threshold */
fid = H5Fcreate(FILE66, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT);
diff --git a/tools/h5repack/h5repack.c b/tools/h5repack/h5repack.c
index 96b8369..8d10a57 100644
--- a/tools/h5repack/h5repack.c
+++ b/tools/h5repack/h5repack.c
@@ -96,7 +96,7 @@ h5repack_init(pack_opt_t *options, int verbose, H5F_file_space_type_t strategy,
int k, n;
memset(options,0,sizeof(pack_opt_t));
options->min_comp = 1024;
- options->verbose = verbose;
+ options->verbose = verbose;
for ( n = 0; n < H5_REPACK_MAX_NFILTERS; n++)
{
diff --git a/tools/h5repack/h5repack_main.c b/tools/h5repack/h5repack_main.c
index 78bae25..a95c4c4 100644
--- a/tools/h5repack/h5repack_main.c
+++ b/tools/h5repack/h5repack_main.c
@@ -108,7 +108,7 @@ int main(int argc, const char **argv)
int ret=-1;
/* initialize options */
- h5repack_init (&options, 0, 0, (hsize_t)0);
+ h5repack_init(&options, 0, 0, (hsize_t)0);
parse_command_line(argc, argv, &options);
diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c
index f4abff5..74c901f 100644
--- a/tools/h5repack/h5repacktst.c
+++ b/tools/h5repack/h5repacktst.c
@@ -321,7 +321,7 @@ int main (void)
GOERROR;
if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) >0)
GOERROR;
- if (h5repack_verify(FNAME4, FNAME4OUT,&pack_options)<=0)
+ if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0)
GOERROR;
if (h5repack_end (&pack_options) < 0)
GOERROR;
@@ -611,7 +611,7 @@ int main (void)
GOERROR;
if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) >0)
GOERROR;
- if (h5repack_verify(FNAME4, FNAME4OUT,&pack_options)<=0)
+ if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options )<= 0)
GOERROR;
if (h5repack_end (&pack_options) < 0)
GOERROR;
diff --git a/tools/h5stat/h5stat.c b/tools/h5stat/h5stat.c
index 87f7b41..be74d21 100644
--- a/tools/h5stat/h5stat.c
+++ b/tools/h5stat/h5stat.c
@@ -955,7 +955,6 @@ print_file_info(const iter_t *iter)
return 0;
} /* print_file_info() */
-
/*-------------------------------------------------------------------------
* Function: print_group_info
@@ -1331,18 +1330,20 @@ print_storage_summary(const iter_t *iter)
static herr_t
print_file_metadata(const iter_t *iter)
{
- printf("File space information for file metadata (in bytes):\n");
+ HDfprintf(stdout, "File space information for file metadata (in bytes):\n");
HDfprintf(stdout, "\tSuperblock: %Hu\n", iter->super_size);
HDfprintf(stdout, "\tSuperblock extension: %Hu\n", iter->super_ext_size);
HDfprintf(stdout, "\tUser block: %Hu\n", iter->ublk_size);
HDfprintf(stdout, "\tObject headers: (total/unused)\n");
- HDfprintf(stdout, "\t\tGroups: %Hu/%Hu\n", iter->group_ohdr_info.total_size,
+ HDfprintf(stdout, "\t\tGroups: %Hu/%Hu\n",
+ iter->group_ohdr_info.total_size,
iter->group_ohdr_info.free_size);
HDfprintf(stdout, "\t\tDatasets(exclude compact data): %Hu/%Hu\n",
iter->dset_ohdr_info.total_size,
iter->dset_ohdr_info.free_size);
- HDfprintf(stdout, "\t\tDatatypes: %Hu/%Hu\n", iter->dtype_ohdr_info.total_size,
+ HDfprintf(stdout, "\t\tDatatypes: %Hu/%Hu\n",
+ iter->dtype_ohdr_info.total_size,
iter->dtype_ohdr_info.free_size);
HDfprintf(stdout, "\tGroups:\n");
diff --git a/tools/h5stat/testh5stat.sh.in b/tools/h5stat/testh5stat.sh.in
index 591471e..0ecb4ce 100644
--- a/tools/h5stat/testh5stat.sh.in
+++ b/tools/h5stat/testh5stat.sh.in
@@ -141,3 +141,4 @@ else
echo "$TESTNAME tests failed with $nerrors errors."
exit $EXIT_FAILURE
fi
+