summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/h5repack/h5repack_filters.c11
-rw-r--r--tools/h5repack/h5repack_verify.c9
-rw-r--r--tools/h5repack/testh5repack_main.c19
3 files changed, 38 insertions, 1 deletions
diff --git a/tools/h5repack/h5repack_filters.c b/tools/h5repack/h5repack_filters.c
index 0a0de02..aead698 100644
--- a/tools/h5repack/h5repack_filters.c
+++ b/tools/h5repack/h5repack_filters.c
@@ -199,6 +199,17 @@ int apply_filters(hid_t dcpl_id,
}
/*-------------------------------------------------------------------------
+ * check if we have filters in the pipeline
+ * we want to replace them with the input filters
+ *-------------------------------------------------------------------------
+ */
+
+ if (nfilters) {
+ if (H5Pdelete_filter(dcpl_id,H5Z_FILTER_NONE)<0)
+ return -1;
+ }
+
+/*-------------------------------------------------------------------------
* the type of filter and additional parameter
* type can be one of the filters
* H5Z_FILTER_NONE 0, uncompress if compressed
diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c
index bbf0492..61529e3 100644
--- a/tools/h5repack/h5repack_verify.c
+++ b/tools/h5repack/h5repack_verify.c
@@ -183,6 +183,11 @@ int h5repack_verify(const char *fname,
if ((dcpl_id=H5Dget_create_plist(dset_id))<0)
goto error;
+ if (options->verbose) {
+ printf(" %-10s %s\n", "dataset",name );
+ print_filters(dcpl_id);
+ }
+
/*-------------------------------------------------------------------------
* filter check
*-------------------------------------------------------------------------
@@ -251,6 +256,10 @@ int h5repack_verify(const char *fname,
if ((dcpl_id=H5Dget_create_plist(dset_id))<0)
goto error;
+ if (options->verbose) {
+ printf(" %-10s %s\n", "dataset",name );
+ print_filters(dcpl_id);
+ }
/*-------------------------------------------------------------------------
* filter check
*-------------------------------------------------------------------------
diff --git a/tools/h5repack/testh5repack_main.c b/tools/h5repack/testh5repack_main.c
index fc7d571..6b829ee 100644
--- a/tools/h5repack/testh5repack_main.c
+++ b/tools/h5repack/testh5repack_main.c
@@ -322,7 +322,24 @@ test_filter_szip(void)
TEST_ERROR;
if (h5repack_end (&pack_options)<0)
TEST_ERROR;
-
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+ TEST_ERROR;
+ if (h5repack_addfilter("SZIP 8",&pack_options)<0)
+ TEST_ERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
+ TEST_ERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
+ TEST_ERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+ TEST_ERROR;
+ if (h5repack_end (&pack_options)<0)
+ TEST_ERROR;
PASSED();
#else