diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-01-21 20:20:13 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-01-21 20:20:13 (GMT) |
commit | 127dc2f80db940c9bd7b69bedf7383ad55ed8d81 (patch) | |
tree | 19834c9f8bf8288ddaa943b7bb79cbeaddd36fea /src/H5Oprivate.h | |
parent | ba63879ea20145e9778c4ba2c7d9ec8134f1b7d0 (diff) | |
download | hdf5-127dc2f80db940c9bd7b69bedf7383ad55ed8d81.zip hdf5-127dc2f80db940c9bd7b69bedf7383ad55ed8d81.tar.gz hdf5-127dc2f80db940c9bd7b69bedf7383ad55ed8d81.tar.bz2 |
[svn-r6308] Purpose:
Bug fix
Description:
Currently, when the library encounters an object header message that isn't
know, it fails to open that object in the file.
Solution:
Allow the library to skip over the unknown object header message and
continue to process the remaining messages, in the hope that the skipped
message isn't important later. If it is important, it will be caught at
a higher level of the library.
Platforms tested:
FreeBSD 4.7 (sleipnir)
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 651dbca..c384362 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -216,6 +216,22 @@ typedef struct H5O_layout_t { void *buf; /*buffer for compact dataset */ } H5O_layout_t; +/* Enable reading/writing "bogus" messages */ +/* #define H5O_ENABLE_BOGUS */ + +#ifdef H5O_ENABLE_BOGUS +/* + * "Bogus" Message. + */ +#define H5O_BOGUS_ID 0x0009 +H5_DLLVAR const H5O_class_t H5O_BOGUS[1]; + +#define H5O_BOGUS_VALUE 0xdeadbeef +typedef struct H5O_bogus_t { + unsigned u; /* Hold the bogus info */ +} H5O_bogus_t; +#endif /* H5O_ENABLE_BOGUS */ + /* * Filter pipeline message. */ @@ -362,6 +378,10 @@ H5_DLL int H5O_append(H5F_t *f, H5O_t *oh, const H5O_class_t *type, unsigned flags, const void *mesg); H5_DLL herr_t H5O_touch(H5G_entry_t *ent, hbool_t force); H5_DLL herr_t H5O_touch_oh(H5F_t *f, H5O_t *oh, hbool_t force); +#ifdef H5O_ENABLE_BOGUS +H5_DLL herr_t H5O_bogus(H5G_entry_t *ent); +H5_DLL herr_t H5O_bogus_oh(H5F_t *f, H5O_t *oh); +#endif /* H5O_ENABLE_BOGUS */ H5_DLL herr_t H5O_remove(H5G_entry_t *ent, const H5O_class_t *type, int sequence); H5_DLL herr_t H5O_reset(const H5O_class_t *type, void *native); |