summaryrefslogtreecommitdiffstats
path: root/tools/h5repack
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-10-17 12:48:04 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-10-17 12:48:04 (GMT)
commit13c484162cc9098e6538deec931563848011bdb5 (patch)
treec33201bfab0f74c7e3bff9b17a55d92deb852118 /tools/h5repack
parentbe729e5f78ae9308dd4a305039e8ddd58068d477 (diff)
downloadhdf5-13c484162cc9098e6538deec931563848011bdb5.zip
hdf5-13c484162cc9098e6538deec931563848011bdb5.tar.gz
hdf5-13c484162cc9098e6538deec931563848011bdb5.tar.bz2
[svn-r14206] Description:
Make H5Pget_filter API versioned and switch internal usage to H5Pget_filter2. Add regression test for H5Pget_filter1. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
Diffstat (limited to 'tools/h5repack')
-rw-r--r--tools/h5repack/h5repack_copy.c37
-rw-r--r--tools/h5repack/h5repack_filters.c36
-rw-r--r--tools/h5repack/h5repack_verify.c37
3 files changed, 27 insertions, 83 deletions
diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c
index b1417e1..e6c32c6 100644
--- a/tools/h5repack/h5repack_copy.c
+++ b/tools/h5repack/h5repack_copy.c
@@ -1053,36 +1053,19 @@ static void print_dataset_info(hid_t dcpl_id,
strcpy(strfilter,"\0");
/* get information about input filters */
- if ((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
+ if((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
return;
- for ( i=0; i<nfilters; i++)
- {
+ for(i = 0; i < nfilters; i++) {
cd_nelmts = NELMTS(cd_values);
-#ifdef H5_WANT_H5_V1_6_COMPAT
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_objname),
- f_objname);
-#else
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_objname),
- f_objname,
- NULL);
-#endif /* H5_WANT_H5_V1_6_COMPAT */
-
- switch (filtn)
- {
+ filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
+ cd_values, sizeof(f_objname), f_objname, NULL);
+
+ switch(filtn) {
default:
break;
+
case H5Z_FILTER_DEFLATE:
strcat(strfilter,"GZIP ");
@@ -1093,8 +1076,8 @@ static void print_dataset_info(hid_t dcpl_id,
strcat(strfilter,temp);
}
#endif
-
break;
+
case H5Z_FILTER_SZIP:
strcat(strfilter,"SZIP ");
@@ -1114,15 +1097,19 @@ static void print_dataset_info(hid_t dcpl_id,
#endif
break;
+
case H5Z_FILTER_SHUFFLE:
strcat(strfilter,"SHUF ");
break;
+
case H5Z_FILTER_FLETCHER32:
strcat(strfilter,"FLET ");
break;
+
case H5Z_FILTER_NBIT:
strcat(strfilter,"NBIT ");
break;
+
case H5Z_FILTER_SCALEOFFSET:
strcat(strfilter,"SCALEOFFSET ");
break;
diff --git a/tools/h5repack/h5repack_filters.c b/tools/h5repack/h5repack_filters.c
index a2d86fa..0e7a557 100644
--- a/tools/h5repack/h5repack_filters.c
+++ b/tools/h5repack/h5repack_filters.c
@@ -412,8 +412,6 @@ int apply_filters(const char* name, /* object name from traverse list */
return 0;
}
-
-
/*-------------------------------------------------------------------------
* Function: print_filters
*
@@ -437,47 +435,25 @@ int print_filters(hid_t dcpl_id)
int i;
/* get information about filters */
- if ((nfilters = H5Pget_nfilters(dcpl_id))<0)
+ if((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
return -1;
- for (i=0; i<nfilters; i++)
- {
+ for(i = 0; i < nfilters; i++) {
cd_nelmts = NELMTS(cd_values);
-#ifdef H5_WANT_H5_V1_6_COMPAT
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_name),
- f_name);
-#else
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_name),
- f_name,
- NULL);
-#endif /* H5_WANT_H5_V1_6_COMPAT */
+ filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
+ cd_values, sizeof(f_name), f_name, NULL);
f_name[sizeof(f_name)-1] = '\0';
sprintf(s, "Filter-%d:", i);
printf(" %-10s %s-%u %s {", s,
- f_name[0]?f_name:"method",
+ f_name[0] ? f_name : "method",
(unsigned)filtn,
filt_flags & H5Z_FLAG_OPTIONAL?"OPT":"");
- for (cd_num=0; cd_num<cd_nelmts; cd_num++) {
+ for(cd_num = 0; cd_num < cd_nelmts; cd_num++)
printf("%s%u", cd_num?", ":"", cd_values[cd_num]);
- }
printf("}\n");
}
return 0;
-
-
}
-
-
diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c
index e87d318..995aca1 100644
--- a/tools/h5repack/h5repack_verify.c
+++ b/tools/h5repack/h5repack_verify.c
@@ -37,53 +37,34 @@ extern char *progname;
static int
has_filter(hid_t dcpl_id, H5Z_filter_t filtnin)
{
-
int nfilters; /* number of filters */
unsigned filt_flags; /* filter flags */
H5Z_filter_t filtn; /* filter identification number */
unsigned cd_values[20]; /* filter client data values */
size_t cd_nelmts; /* filter client number of values */
char f_name[256]; /* filter name */
- int have=0; /* flag, filter is present */
+ int have = 0; /* flag, filter is present */
int i; /* index */
/* if no information about the input filter is requested return exit */
- if (filtnin==-1)
+ if(filtnin == -1)
return 1;
/* get information about filters */
- if ((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
+ if((nfilters = H5Pget_nfilters(dcpl_id)) < 0)
return -1;
/* if we do not have filters and the requested filter is NONE, return 1 */
- if (!nfilters && filtnin==H5Z_FILTER_NONE)
+ if(!nfilters && filtnin == H5Z_FILTER_NONE)
return 1;
- for (i=0; i<nfilters; i++)
- {
+ for(i = 0; i < nfilters; i++) {
cd_nelmts = NELMTS(cd_values);
-#ifdef H5_WANT_H5_V1_6_COMPAT
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_name),
- f_name);
-#else
- filtn = H5Pget_filter(dcpl_id,
- (unsigned)i,
- &filt_flags,
- &cd_nelmts,
- cd_values,
- sizeof(f_name),
- f_name,
- NULL);
-#endif /* H5_WANT_H5_V1_6_COMPAT */
-
- if (filtnin==filtn)
- have=1;
+ filtn = H5Pget_filter2(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
+ cd_values, sizeof(f_name), f_name, NULL);
+ if(filtnin == filtn)
+ have = 1;
}
return have;