diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-01-08 14:55:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-01-08 14:55:11 (GMT) |
commit | feaa5bb9d54017961e325f4bc2c366fc023c2443 (patch) | |
tree | a84153ea1ed3305049e86ddff013c794b414719b /tools | |
parent | c81f060deb2fc82d33ef17a57b3a48718511bdc6 (diff) | |
download | hdf5-feaa5bb9d54017961e325f4bc2c366fc023c2443.zip hdf5-feaa5bb9d54017961e325f4bc2c366fc023c2443.tar.gz hdf5-feaa5bb9d54017961e325f4bc2c366fc023c2443.tar.bz2 |
[svn-r8038] Purpose:
Bug fix
Description:
When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values. This causes problems
when the raw information contains pointers to other information.
Solution:
Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Diffstat (limited to 'tools')
-rw-r--r-- | tools/h5repack/h5repack_verify.c | 1 | ||||
-rw-r--r-- | tools/h5repack/testh5repack_main.c | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c index 6961731..dc33206 100644 --- a/tools/h5repack/h5repack_verify.c +++ b/tools/h5repack/h5repack_verify.c @@ -413,6 +413,7 @@ int h5repack_cmpdcpl(const char *fname1, if (ret==0) { printf("Property lists for <%s> are different\n",travt1->objs[i].name); + goto error; } /*------------------------------------------------------------------------- diff --git a/tools/h5repack/testh5repack_main.c b/tools/h5repack/testh5repack_main.c index 0ab5f1c..1cd3762 100644 --- a/tools/h5repack/testh5repack_main.c +++ b/tools/h5repack/testh5repack_main.c @@ -50,10 +50,8 @@ test_copy(void) TEST_ERROR; if (h5repack_verify(FNAME1OUT,&pack_options)<=0) TEST_ERROR; -#if 0 if (h5repack_cmpdcpl(FNAME1,FNAME1OUT)<=0) TEST_ERROR; -#endif if (h5repack_end (&pack_options)<0) TEST_ERROR; @@ -68,6 +66,8 @@ test_copy(void) TEST_ERROR; if (h5repack_verify(FNAME2OUT,&pack_options)<=0) TEST_ERROR; + if (h5repack_cmpdcpl(FNAME2,FNAME2OUT)<=0) + TEST_ERROR; if (h5repack_end (&pack_options)<0) TEST_ERROR; PASSED(); @@ -81,6 +81,8 @@ test_copy(void) TEST_ERROR; if (h5repack_verify(FNAME3OUT,&pack_options)<=0) TEST_ERROR; + if (h5repack_cmpdcpl(FNAME3,FNAME3OUT)<=0) + TEST_ERROR; if (h5repack_end (&pack_options)<0) TEST_ERROR; PASSED(); @@ -136,6 +138,8 @@ test_filter_deflate(void) TEST_ERROR; if (h5repack_verify(FNAME4OUT,&pack_options)<=0) TEST_ERROR; + if (h5repack_cmpdcpl(FNAME4,FNAME4OUT)<=0) + TEST_ERROR; if (h5repack_end (&pack_options)<0) TEST_ERROR; @@ -569,6 +573,8 @@ test_layout_contiguous(void) TEST_ERROR; if (h5repack_verify(FNAME4OUT,&pack_options)<=0) TEST_ERROR; + if (h5repack_cmpdcpl(FNAME4,FNAME4OUT)<=0) + TEST_ERROR; if (h5repack_end (&pack_options)<0) TEST_ERROR; @@ -587,6 +593,8 @@ test_layout_contiguous(void) TEST_ERROR; if (h5repack_verify(FNAME4OUT,&pack_options)<=0) TEST_ERROR; + if (h5repack_cmpdcpl(FNAME4,FNAME4OUT)<=0) + TEST_ERROR; if (h5repack_end (&pack_options)<0) TEST_ERROR; |