summaryrefslogtreecommitdiffstats
path: root/tools/h5repack/h5repack_copy.c
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2004-02-10 18:33:20 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2004-02-10 18:33:20 (GMT)
commit192c316dd5de41d9de2b8489406abe94bffccb7b (patch)
treef24ee502aab010bd3e3e373eaeda07a0f4ea9d0c /tools/h5repack/h5repack_copy.c
parentf1031738ef0f945a3f1d2b8f90363ee657220e17 (diff)
downloadhdf5-192c316dd5de41d9de2b8489406abe94bffccb7b.zip
hdf5-192c316dd5de41d9de2b8489406abe94bffccb7b.tar.gz
hdf5-192c316dd5de41d9de2b8489406abe94bffccb7b.tar.bz2
[svn-r8176] Purpose:
new feature, bug fix, changed function Description: 1) implemented the option that says if the dataset is too small , do not compress it 2) bug fix in the SZIP checking . only apply szip to atomic datatypes 3) made the apply_filters function more compact Solution: Platforms tested: linux AIX solaris Misc. update:
Diffstat (limited to 'tools/h5repack/h5repack_copy.c')
-rw-r--r--tools/h5repack/h5repack_copy.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c
index f9859aa..5134891 100644
--- a/tools/h5repack/h5repack_copy.c
+++ b/tools/h5repack/h5repack_copy.c
@@ -268,34 +268,18 @@ int do_copy_objects(hid_t fidin,
*/
if (layout_this(dcpl_id,travt->objs[i].name,options,&obj))
{
+ obj.chunk.rank=rank;
if (apply_layout(dcpl_id,&obj)<0)
goto error;
}
+
/*-------------------------------------------------------------------------
- * apply the filter; check first if the object is to be filtered.
+ * apply the filter; check if the object is to be filtered.
*-------------------------------------------------------------------------
*/
- if (filter_this(travt->objs[i].name,options,&obj))
- {
- if (rank)
- {
- /* filters require CHUNK layout; if we do not have one define a default */
- if (obj.chunk.rank<=0)
- {
- obj.chunk.rank=rank;
- for (j=0; j<rank; j++)
- obj.chunk.chunk_lengths[j] = dims[j];
- }
- if (apply_filters(dcpl_id,msize,options,&obj)<0)
- goto error;
- }
- else
- {
- if (options->verbose)
- printf("Warning: Filter could not be applied to <%s>\n",
- travt->objs[i].name);
- }/*rank*/
- }/*filter_this*/
+ if (apply_filters(travt->objs[i].name,rank,dims,dcpl_id,mtype_id,options,&obj)<0)
+ goto error;
+
}/*nelmts*/
/*-------------------------------------------------------------------------