summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/.distdep322
-rw-r--r--src/H5HG.c15
-rw-r--r--src/H5Omtime.c4
-rw-r--r--test/.distdep60
4 files changed, 206 insertions, 195 deletions
diff --git a/src/.distdep b/src/.distdep
index 6c4d8ff..8d541b6 100644
--- a/src/.distdep
+++ b/src/.distdep
@@ -214,32 +214,6 @@ H5Flow.o: \
H5Fprivate.h \
H5Fpublic.h \
H5Dpublic.h
-H5Fmpio.o: \
- H5Fmpio.c \
- H5private.h \
- H5public.h \
- H5config.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5Ipublic.h \
- H5Dprivate.h \
- H5Dpublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Gprivate.h \
- H5Gpublic.h \
- H5Bprivate.h \
- H5Bpublic.h \
- H5Oprivate.h \
- H5Opublic.h \
- H5HGprivate.h \
- H5HGpublic.h \
- H5Tprivate.h \
- H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Zprivate.h \
- H5Zpublic.h
H5Fsec2.o: \
H5Fsec2.c \
H5private.h \
@@ -392,22 +366,6 @@ H5Gstab.o: \
H5Sprivate.h \
H5Spublic.h \
H5Zprivate.h
-H5HG.o: \
- H5HG.c \
- H5private.h \
- H5public.h \
- H5config.h \
- H5ACprivate.h \
- H5ACpublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Ipublic.h \
- H5Dpublic.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5HGprivate.h \
- H5HGpublic.h \
- H5MFprivate.h
H5HL.o: \
H5HL.c \
H5private.h \
@@ -655,32 +613,6 @@ H5Olayout.o: \
H5Zpublic.h \
H5Eprivate.h \
H5Epublic.h
-H5Omtime.o: \
- H5Omtime.c \
- H5private.h \
- H5public.h \
- H5config.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5Ipublic.h \
- H5MMprivate.h \
- H5MMpublic.h \
- H5Oprivate.h \
- H5Opublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Dpublic.h \
- H5Gprivate.h \
- H5Gpublic.h \
- H5Bprivate.h \
- H5Bpublic.h \
- H5HGprivate.h \
- H5HGpublic.h \
- H5Tprivate.h \
- H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Zprivate.h
H5Oname.o: \
H5Oname.c \
H5private.h \
@@ -806,32 +738,6 @@ H5Ostab.o: \
H5Sprivate.h \
H5Spublic.h \
H5Zprivate.h
-H5R.o: \
- H5R.c \
- H5private.h \
- H5public.h \
- H5config.h \
- H5Iprivate.h \
- H5Ipublic.h \
- H5Dprivate.h \
- H5Dpublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Gprivate.h \
- H5Gpublic.h \
- H5Bprivate.h \
- H5Bpublic.h \
- H5Oprivate.h \
- H5Opublic.h \
- H5HGprivate.h \
- H5HGpublic.h \
- H5Tprivate.h \
- H5Tpublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Zprivate.h \
- H5Zpublic.h \
- H5Eprivate.h
H5RA.o: \
H5RA.c \
H5RAprivate.h \
@@ -941,27 +847,6 @@ H5Shyper.o: \
H5Zprivate.h \
H5Zpublic.h \
H5Vprivate.h
-H5Smpio.o: \
- H5Smpio.c \
- H5private.h \
- H5public.h \
- H5config.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5Ipublic.h \
- H5Sprivate.h \
- H5Spublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Dpublic.h \
- H5Gprivate.h \
- H5Gpublic.h \
- H5Bprivate.h \
- H5Bpublic.h \
- H5Oprivate.h \
- H5Opublic.h \
- H5HGprivate.h \
- H5HGpublic.h
H5Snone.o: \
H5Snone.c \
H5private.h \
@@ -1119,6 +1004,76 @@ H5Z.o: \
H5Sprivate.h \
H5Spublic.h \
H5Zprivate.h
+H5P.o: \
+ H5P.c \
+ H5private.h \
+ H5public.h \
+ H5config.h \
+ H5Iprivate.h \
+ H5Ipublic.h \
+ H5Bprivate.h \
+ H5Bpublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h \
+ H5Dprivate.h \
+ H5Gprivate.h \
+ H5Gpublic.h \
+ H5Oprivate.h \
+ H5Opublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h \
+ H5Zpublic.h \
+ H5Eprivate.h
+H5Tconv.o: \
+ H5Tconv.c \
+ H5Iprivate.h \
+ H5Ipublic.h \
+ H5public.h \
+ H5config.h \
+ H5private.h \
+ H5Eprivate.h \
+ H5Epublic.h \
+ H5MMprivate.h \
+ H5MMpublic.h \
+ H5Tpkg.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h \
+ H5Rprivate.h \
+ H5Rpublic.h \
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Gprivate.h \
+ H5Gpublic.h
+H5Tinit.o: \
+ H5Tinit.c \
+ H5private.h \
+ H5public.h \
+ H5config.h \
+ H5Iprivate.h \
+ H5Ipublic.h \
+ H5Eprivate.h \
+ H5Epublic.h \
+ H5MMprivate.h \
+ H5MMpublic.h \
+ H5Tpkg.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h \
+ H5Rprivate.h \
+ H5Rpublic.h \
+ H5Tprivate.h \
+ H5Tpublic.h
H5.o: \
H5.c \
H5private.h \
@@ -1150,21 +1105,22 @@ H5.o: \
H5HGprivate.h \
H5HGpublic.h \
H5Tprivate.h
-H5P.o: \
- H5P.c \
+H5Fmpio.o: \
+ H5Fmpio.c \
H5private.h \
H5public.h \
H5config.h \
- H5Iprivate.h \
+ H5Eprivate.h \
+ H5Epublic.h \
H5Ipublic.h \
- H5Bprivate.h \
- H5Bpublic.h \
+ H5Dprivate.h \
+ H5Dpublic.h \
H5Fprivate.h \
H5Fpublic.h \
- H5Dpublic.h \
- H5Dprivate.h \
H5Gprivate.h \
H5Gpublic.h \
+ H5Bprivate.h \
+ H5Bpublic.h \
H5Oprivate.h \
H5Opublic.h \
H5HGprivate.h \
@@ -1174,16 +1130,58 @@ H5P.o: \
H5Sprivate.h \
H5Spublic.h \
H5Zprivate.h \
- H5Zpublic.h \
- H5Eprivate.h
-H5T.o: \
- H5T.c \
+ H5Zpublic.h
+H5HG.o: \
+ H5HG.c \
H5private.h \
H5public.h \
H5config.h \
- H5Dprivate.h \
+ H5ACprivate.h \
+ H5ACpublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Ipublic.h \
H5Dpublic.h \
+ H5Eprivate.h \
+ H5Epublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5MFprivate.h
+H5Omtime.o: \
+ H5Omtime.c \
+ H5private.h \
+ H5public.h \
+ H5config.h \
+ H5Eprivate.h \
+ H5Epublic.h \
H5Ipublic.h \
+ H5MMprivate.h \
+ H5MMpublic.h \
+ H5Oprivate.h \
+ H5Opublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Dpublic.h \
+ H5Gprivate.h \
+ H5Gpublic.h \
+ H5Bprivate.h \
+ H5Bpublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h
+H5R.o: \
+ H5R.c \
+ H5private.h \
+ H5public.h \
+ H5config.h \
+ H5Iprivate.h \
+ H5Ipublic.h \
+ H5Dprivate.h \
+ H5Dpublic.h \
H5Fprivate.h \
H5Fpublic.h \
H5Gprivate.h \
@@ -1200,54 +1198,56 @@ H5T.o: \
H5Spublic.h \
H5Zprivate.h \
H5Zpublic.h \
- H5Iprivate.h \
- H5Eprivate.h \
- H5Epublic.h \
- H5MMprivate.h \
- H5MMpublic.h \
- H5Tpkg.h \
- H5Rprivate.h
-H5Tconv.o: \
- H5Tconv.c \
- H5Iprivate.h \
- H5Ipublic.h \
+ H5Eprivate.h
+H5Smpio.o: \
+ H5Smpio.c \
+ H5private.h \
H5public.h \
H5config.h \
- H5private.h \
H5Eprivate.h \
H5Epublic.h \
- H5MMprivate.h \
- H5MMpublic.h \
- H5Tpkg.h \
- H5HGprivate.h \
- H5HGpublic.h \
+ H5Ipublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
H5Fprivate.h \
H5Fpublic.h \
H5Dpublic.h \
- H5Rprivate.h \
- H5Rpublic.h \
- H5Tprivate.h \
- H5Tpublic.h \
H5Gprivate.h \
- H5Gpublic.h
-H5Tinit.o: \
- H5Tinit.c \
+ H5Gpublic.h \
+ H5Bprivate.h \
+ H5Bpublic.h \
+ H5Oprivate.h \
+ H5Opublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h
+H5T.o: \
+ H5T.c \
H5private.h \
H5public.h \
H5config.h \
- H5Iprivate.h \
+ H5Dprivate.h \
+ H5Dpublic.h \
H5Ipublic.h \
+ H5Fprivate.h \
+ H5Fpublic.h \
+ H5Gprivate.h \
+ H5Gpublic.h \
+ H5Bprivate.h \
+ H5Bpublic.h \
+ H5Oprivate.h \
+ H5Opublic.h \
+ H5HGprivate.h \
+ H5HGpublic.h \
+ H5Tprivate.h \
+ H5Tpublic.h \
+ H5Sprivate.h \
+ H5Spublic.h \
+ H5Zprivate.h \
+ H5Zpublic.h \
+ H5Iprivate.h \
H5Eprivate.h \
H5Epublic.h \
H5MMprivate.h \
H5MMpublic.h \
H5Tpkg.h \
- H5HGprivate.h \
- H5HGpublic.h \
- H5Fprivate.h \
- H5Fpublic.h \
- H5Dpublic.h \
- H5Rprivate.h \
- H5Rpublic.h \
- H5Tprivate.h \
- H5Tpublic.h
+ H5Rprivate.h
diff --git a/src/H5HG.c b/src/H5HG.c
index 1149783..e046fe6 100644
--- a/src/H5HG.c
+++ b/src/H5HG.c
@@ -202,7 +202,7 @@ H5HG_load (H5F_t *f, const haddr_t *addr, const void __unused__ *udata1,
H5HG_heap_t *ret_value = NULL;
uint8_t *p = NULL;
intn i;
- size_t nalloc;
+ size_t nalloc, need;
FUNC_ENTER (H5HG_load, NULL);
@@ -294,7 +294,18 @@ H5HG_load (H5F_t *f, const haddr_t *addr, const void __unused__ *udata1,
p += 4; /*reserved*/
H5F_decode_length (f, p, heap->obj[idx].size);
heap->obj[idx].begin = begin;
- p = begin + H5HG_ALIGN(heap->obj[idx].size);
+ /*
+ * The total storage size includes the size of the object header
+ * and is zero padded so the next object header is properly
+ * aligned. The last bit of space is the free space object whose
+ * size is never padded and already includes the object header.
+ */
+ if (idx>0) {
+ need = H5HG_ALIGN(H5HG_SIZEOF_OBJHDR(f) + heap->obj[idx].size);
+ } else {
+ need = heap->obj[idx].size;
+ }
+ p = begin + need;
}
}
assert(p==heap->chunk+heap->size);
diff --git a/src/H5Omtime.c b/src/H5Omtime.c
index df0294b..3e4acb0 100644
--- a/src/H5Omtime.c
+++ b/src/H5Omtime.c
@@ -135,8 +135,8 @@ H5O_mtime_decode(H5F_t __unused__ *f, const uint8_t *p,
/*
* The catch-all. If we can't convert a character string universal
* coordinated time to a time_t value reliably then we can't decode the
- * modification time message. This really isn't as bad as it sounds --
- * the only way a user can get the modification time is from H5Gget_objinfo()
+ * modification time message. This really isn't as bad as it sounds -- the
+ * only way a user can get the modification time is from H5Gget_objinfo()
* and H5G_get_objinfo() can gracefully recover.
*/
diff --git a/test/.distdep b/test/.distdep
index 7da3a87..0783417 100644
--- a/test/.distdep
+++ b/test/.distdep
@@ -617,30 +617,6 @@ tmeta.o: \
../src/H5Eprivate.h \
../src/H5Epublic.h \
../src/H5Ipublic.h
-trefer.o: \
- trefer.c \
- testhdf5.h \
- ../src/H5private.h \
- ../src/H5public.h \
- ../src/H5config.h \
- ../src/H5Eprivate.h \
- ../src/H5Epublic.h \
- ../src/H5Ipublic.h \
- ../src/hdf5.h \
- ../src/H5Apublic.h \
- ../src/H5ACpublic.h \
- ../src/H5Bpublic.h \
- ../src/H5Dpublic.h \
- ../src/H5Fpublic.h \
- ../src/H5Gpublic.h \
- ../src/H5HGpublic.h \
- ../src/H5HLpublic.h \
- ../src/H5MFpublic.h \
- ../src/H5MMpublic.h \
- ../src/H5Opublic.h \
- ../src/H5Ppublic.h \
- ../src/H5Zpublic.h \
- ../src/H5Rpublic.h
tselect.o: \
tselect.c \
testhdf5.h \
@@ -849,6 +825,12 @@ mtime.o: \
../src/H5Rprivate.h \
../src/H5Tprivate.h \
../src/H5Gprivate.h
+testhdf5.o: \
+ testhdf5.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h
tattr.o: \
tattr.c \
testhdf5.h \
@@ -873,12 +855,6 @@ tattr.o: \
../src/H5Ppublic.h \
../src/H5Zpublic.h \
../src/H5Rpublic.h
-testhdf5.o: \
- testhdf5.c \
- testhdf5.h \
- ../src/H5private.h \
- ../src/H5public.h \
- ../src/H5config.h
th5s.o: \
th5s.c \
testhdf5.h \
@@ -906,3 +882,27 @@ th5s.o: \
../src/H5Zprivate.h \
../src/H5Zpublic.h \
../src/H5Pprivate.h
+trefer.o: \
+ trefer.c \
+ testhdf5.h \
+ ../src/H5private.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5Eprivate.h \
+ ../src/H5Epublic.h \
+ ../src/H5Ipublic.h \
+ ../src/hdf5.h \
+ ../src/H5Apublic.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5HGpublic.h \
+ ../src/H5HLpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Zpublic.h \
+ ../src/H5Rpublic.h