summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMuQun Yang <ymuqun@hdfgroup.org>2001-03-09 23:45:28 (GMT)
committerMuQun Yang <ymuqun@hdfgroup.org>2001-03-09 23:45:28 (GMT)
commit1965c76749e8d2f1b266eeb89de0d88959c5aadd (patch)
treef534790e7c3fde46a011e19be83688e8edb54b1c /tools
parentce84bb5a8a0874123e95a1b379c776686654ae4d (diff)
downloadhdf5-1965c76749e8d2f1b266eeb89de0d88959c5aadd.zip
hdf5-1965c76749e8d2f1b266eeb89de0d88959c5aadd.tar.gz
hdf5-1965c76749e8d2f1b266eeb89de0d88959c5aadd.tar.bz2
[svn-r3594]
Purpose: a bug fix Description: special vdata chunking table is converted into hdf5 dataset Solution: add a filter to filter out this chunking table Platforms tested: eirene,arabica
Diffstat (limited to 'tools')
-rw-r--r--tools/h4toh5main.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/tools/h4toh5main.c b/tools/h4toh5main.c
index 9881ce0..5e7c6d6 100644
--- a/tools/h4toh5main.c
+++ b/tools/h4toh5main.c
@@ -1100,7 +1100,25 @@ int h4toh5lonevds(int32 file_id, hid_t h5group){
/* Make sure this vdata is not an attribute of other hdf4 objects.*/
if(!VSisattr(vdata_id)) {
+
+ h4toh5_ZeroMemory(vdata_class,VGNAMELENMAX);
+ istat = VSgetclass(vdata_id,vdata_class);
+ if(istat == FAIL) {
+ printf("error in getting vdata class name.\n");
+ free(ref_vdata_array);
+ VSdetach(vdata_id);
+ return FAIL;
+ }
+
+
+ if(!strncmp(vdata_class,_HDF_CHK_TBL_CLASS,strlen(_HDF_CHK_TBL_CLASS))){
+
+ VSdetach(vdata_id);
+ continue;
+ }
+
vdata_ref = VSQueryref(vdata_id);
+
if(vdata_ref == FAIL) {
printf("error in getting vdata reference number.\n");
free(ref_vdata_array);
@@ -1116,17 +1134,10 @@ int h4toh5lonevds(int32 file_id, hid_t h5group){
return FAIL;
}
- h4toh5_ZeroMemory(vdata_class,VGNAMELENMAX);
- istat = VSgetclass(vdata_id,vdata_class);
- if(istat == FAIL) {
- printf("error in getting vdata class name.\n");
- free(ref_vdata_array);
- VSdetach(vdata_id);
- return FAIL;
- }
h4toh5_ZeroMemory(vdata_name,VGNAMELENMAX);
istat = VSQueryname(vdata_id,vdata_name);
+
if(istat == FAIL) {
printf("error in getting vdata name. \n");
free(ref_vdata_array);