diff options
-rw-r--r-- | src/H5Ofphdf5.c | 64 |
1 files changed, 17 insertions, 47 deletions
diff --git a/src/H5Ofphdf5.c b/src/H5Ofphdf5.c index 765fa62..5b4afb3 100644 --- a/src/H5Ofphdf5.c +++ b/src/H5Ofphdf5.c @@ -134,7 +134,7 @@ H5O_fphdf5_decode(H5F_t *f, const uint8_t *p, H5O_shared_t UNUSED *sh) p += H5O_DTYPE[0].raw_size(f, fmeta->dtype); /* decode the modification time next */ - fmeta->mtime = H5O_DTYPE[0].decode(f, p, NULL); + fmeta->mtime = H5O_MTIME[0].decode(f, p, NULL); if (!fmeta->mtime) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); @@ -169,15 +169,6 @@ H5O_fphdf5_decode(H5F_t *f, const uint8_t *p, H5O_shared_t UNUSED *sh) /* jump past the dataset name part */ p += H5O_NAME[0].raw_size(f, fmeta->dset); - /* decode the external file layout for the dataset */ - fmeta->efl = H5O_EFL[0].decode(f, p, NULL); - - if (!fmeta->efl) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); - - /* jump past the dataset name part */ - p += H5O_EFL[0].raw_size(f, fmeta->efl); - /* decode the property list last */ fmeta->plist = H5O_PLIST[0].decode(f, p, NULL); @@ -190,28 +181,25 @@ H5O_fphdf5_decode(H5F_t *f, const uint8_t *p, H5O_shared_t UNUSED *sh) done: if (!ret_value && fmeta) { /* free up fmeta */ - if (H5O_SDSPACE[0].free) + if (H5O_SDSPACE[0].free && fmeta->sdim) H5O_SDSPACE[0].free(fmeta->sdim); - if (H5O_DTYPE[0].free) + if (H5O_DTYPE[0].free && fmeta->dtype) H5O_DTYPE[0].free(fmeta->dtype); - if (H5O_MTIME[0].free) + if (H5O_MTIME[0].free && fmeta->mtime) H5O_MTIME[0].free(fmeta->mtime); - if (H5O_LAYOUT[0].free) + if (H5O_LAYOUT[0].free && fmeta->layout) H5O_LAYOUT[0].free(fmeta->layout); - if (H5O_NAME[0].free) - H5O_NAME[0].free(fmeta->group); - - if (H5O_NAME[0].free) + if (H5O_NAME[0].free && fmeta->group) H5O_NAME[0].free(fmeta->dset); - if (H5O_EFL[0].free) - H5O_EFL[0].free(fmeta->efl); + if (H5O_NAME[0].free && fmeta->dset) + H5O_NAME[0].free(fmeta->dset); - if (H5O_PLIST[0].free) + if (H5O_PLIST[0].free && fmeta->plist) H5O_PLIST[0].free(fmeta->plist); H5FL_FREE(H5O_fphdf5_t, fmeta); @@ -275,7 +263,7 @@ H5O_fphdf5_encode(H5F_t *f, uint8_t *p, const void *mesg) p += H5O_DTYPE[0].raw_size(f, fmeta->dtype); /* encode the modification time next */ - ret_value = H5O_DTYPE[0].encode(f, p, fmeta->mtime); + ret_value = H5O_MTIME[0].encode(f, p, fmeta->mtime); if (ret_value < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed"); @@ -310,15 +298,6 @@ H5O_fphdf5_encode(H5F_t *f, uint8_t *p, const void *mesg) /* jump past the dataset name part */ p += H5O_NAME[0].raw_size(f, fmeta->dset); - /* encode the external file layout stuff next */ - ret_value = H5O_EFL[0].encode(f, p, fmeta->efl); - - if (ret_value < 0) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed"); - - /* jump past the external file layout part */ - p += H5O_EFL[0].raw_size(f, fmeta->efl); - /* decode the property list last */ ret_value = H5O_PLIST[0].encode(f, p, fmeta->plist); @@ -367,7 +346,6 @@ H5O_fphdf5_copy(const void *mesg, void *dest) H5O_LAYOUT[0].copy(src->layout, dst->layout); H5O_NAME[0].copy(src->group, dst->group); H5O_NAME[0].copy(src->dset, dst->dset); - H5O_EFL[0].copy(src->efl, dst->efl); if (H5O_PLIST[0].copy) H5O_PLIST[0].copy(src->plist, dst->plist); @@ -414,7 +392,6 @@ H5O_fphdf5_size(H5F_t *f, const void *mesg) ret_value += H5O_LAYOUT[0].raw_size(f, fmeta->layout); ret_value += H5O_NAME[0].raw_size(f, fmeta->group); ret_value += H5O_NAME[0].raw_size(f, fmeta->dset); - ret_value += H5O_EFL[0].raw_size(f, fmeta->efl); ret_value += H5O_PLIST[0].raw_size(f, fmeta->plist); done: @@ -464,9 +441,6 @@ H5O_fphdf5_reset(void *mesg) if (H5O_NAME[0].reset) ret_value = H5O_NAME[0].reset(fmeta->dset); - if (H5O_EFL[0].reset) - ret_value = H5O_EFL[0].reset(fmeta->efl); - if (H5O_PLIST[0].reset) ret_value = H5O_PLIST[0].reset(fmeta->plist); @@ -494,28 +468,25 @@ H5O_fphdf5_free(void *mesg) FUNC_ENTER_NOAPI(H5O_fphdf5_free, FAIL); assert(fmeta); - if (H5O_SDSPACE[0].free) + if (H5O_SDSPACE[0].free && fmeta->sdim) ret_value = H5O_SDSPACE[0].free(fmeta->sdim); - if (H5O_DTYPE[0].free) + if (H5O_DTYPE[0].free && fmeta->dtype) ret_value = H5O_DTYPE[0].free(fmeta->dtype); - if (H5O_MTIME[0].free) + if (H5O_MTIME[0].free && fmeta->mtime) ret_value = H5O_MTIME[0].free(fmeta->mtime); - if (H5O_LAYOUT[0].free) + if (H5O_LAYOUT[0].free && fmeta->layout) ret_value = H5O_MTIME[0].free(fmeta->layout); - if (H5O_NAME[0].free) + if (H5O_NAME[0].free && fmeta->group) ret_value = H5O_NAME[0].free(fmeta->group); - if (H5O_NAME[0].free) + if (H5O_NAME[0].free && fmeta->dset) ret_value = H5O_NAME[0].free(fmeta->dset); - if (H5O_EFL[0].free) - ret_value = H5O_EFL[0].free(fmeta->efl); - - if (H5O_PLIST[0].free) + if (H5O_PLIST[0].free && fmeta->plist) ret_value = H5O_PLIST[0].free(fmeta->plist); H5FL_FREE(H5O_fphdf5_t, fmeta); @@ -571,7 +542,6 @@ H5O_fphdf5_debug(H5F_t UNUSED *f, const void *mesg, ret_value = H5O_LAYOUT[0].debug(f, fmeta->layout, stream, indent + 1, fwidth); ret_value = H5O_NAME[0].debug(f, fmeta->group, stream, indent + 1, fwidth); ret_value = H5O_NAME[0].debug(f, fmeta->dset, stream, indent + 1, fwidth); - ret_value = H5O_EFL[0].debug(f, fmeta->efl, stream, indent + 1, fwidth); ret_value = H5O_PLIST[0].debug(f, fmeta->plist, stream, indent + 1, fwidth); HDfprintf(stream, "}\n"); |