diff options
author | MuQun Yang <ymuqun@hdfgroup.org> | 2001-03-09 23:45:28 (GMT) |
---|---|---|
committer | MuQun Yang <ymuqun@hdfgroup.org> | 2001-03-09 23:45:28 (GMT) |
commit | 1965c76749e8d2f1b266eeb89de0d88959c5aadd (patch) | |
tree | f534790e7c3fde46a011e19be83688e8edb54b1c /tools | |
parent | ce84bb5a8a0874123e95a1b379c776686654ae4d (diff) | |
download | hdf5-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.c | 27 |
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); |