summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2019-01-07 21:20:11 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2019-01-09 18:18:20 (GMT)
commit55806ff1be0d559a204e84e595403b309239085f (patch)
treef9bddf89ebfe67e4c5a0f785a8fb082589fca445 /src/H5Oprivate.h
parent9deed081853b8c4f892c0b781d912b856de8ee44 (diff)
downloadhdf5-55806ff1be0d559a204e84e595403b309239085f.zip
hdf5-55806ff1be0d559a204e84e595403b309239085f.tar.gz
hdf5-55806ff1be0d559a204e84e595403b309239085f.tar.bz2
Delay checking if decoded message's "shareable" flag is appropriate for
the message type until we've verified we understand the message type. Reduce size of H5O_msg_class_g to *not* include space for H5O_BOGUS_INVALID. Make bogus messages shareable. Add new bogus message test with shareable messages to cover the formerly problematic code. Re-run gen_bogus.c to add this test case and also to fix the bogus_invalid messages that were no longer H5O_BOGUS_INVLAID due to a new message class being added in a previous commit. Added comment to remind developers to run gen_bogus.c when adding a new message class. Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since space for it was removed.
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r--src/H5Oprivate.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index 7868123..34683fe 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -226,11 +226,11 @@ typedef struct H5O_copy_t {
* Note: Must increment H5O_MSG_TYPES in H5Opkg.h and update H5O_msg_class_g
* in H5O.c when creating a new message type. Also bump the value of
* H5O_BOGUS_INVALID_ID, below, to be one greater than the value of
- * H5O_UNKNOWN_ID.
+ * H5O_UNKNOWN_ID, and re-run gen_bogus.c.
*
* (this should never exist in a file)
*/
-#define H5O_BOGUS_INVALID_ID 0x001A /* "Bogus invalid" Message. */
+#define H5O_BOGUS_INVALID_ID 0x001a /* "Bogus invalid" Message. */
/* Shared object message types.
* Shared objects can be committed, in which case the shared message contains
@@ -650,6 +650,7 @@ typedef struct H5O_layout_t {
*/
#define H5O_BOGUS_VALUE 0xdeadbeef
typedef struct H5O_bogus_t {
+ H5O_shared_t sh_loc; /* Shared message info (must be first) */
unsigned u; /* Hold the bogus info */
} H5O_bogus_t;
#endif /* H5O_ENABLE_BOGUS */