mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-23 16:20:57 +08:00
[svn-r2680] Purpose:
Bug fix (ID 419) Description: Converted strings class types (in dataset and attributes) to HDF4 type of DFNT_INT8. Should have been DFNT_CHAR type. Solution: h5toh4.c: Changed the HDF4 type from DFNT_INT8 to DFNT_CHAR type. Converted all hdf5 strings (be it NULLTERM, NULLPAD, SPACEPAD) all to fixed width space padded HDF4 DFNT_CHAR. testh5toh4: Added the testing of $HDF_NOCLEANUP before cleaning away the result files. testfiles/Expected/tattr.hdf: testfiles/Expected/tstr.hdf: testfiles/Expected/tstr2.hdf: Updated with the corrected DFNT_CHAR type. Platforms tested: Solaris 2.7, Linux, Irix 6.5.
This commit is contained in:
parent
f53e72cc9f
commit
fcfecf9ff2
@ -1175,7 +1175,7 @@ H5T_str_t strpad;
|
||||
case H5T_STRING:
|
||||
|
||||
fxdlenstr = type;
|
||||
h4_type = DFNT_INT8;
|
||||
h4_type = DFNT_CHAR;
|
||||
|
||||
if ((space = H5Aget_space(attr_id)) <= 0) {
|
||||
fprintf(stderr, "Error: H5Dget_space() didn't return appropriate value.\n");
|
||||
@ -1214,7 +1214,7 @@ H5T_str_t strpad;
|
||||
DEBUG_PRINT("Error detected in %s() [%s line %d]\n", "convert_attr", __FILE__, __LINE__);
|
||||
return strpad;
|
||||
}
|
||||
if ((status = H5Tset_strpad(mem_type, strpad)) != SUCCEED ) {
|
||||
if ((status = H5Tset_strpad(mem_type, H5T_STR_SPACEPAD)) != SUCCEED ) {
|
||||
fprintf(stderr, "Error: Problem with H5Tset_strpad()\n");
|
||||
DEBUG_PRINT("Error detected in %s() [%s line %d]\n", "convert_attr", __FILE__, __LINE__);
|
||||
return status;
|
||||
@ -1954,7 +1954,7 @@ H5T_str_t strpad;
|
||||
return status;
|
||||
}
|
||||
|
||||
h4_type = DFNT_INT8;
|
||||
h4_type = DFNT_CHAR;
|
||||
if ((mem_type = H5Tcopy(H5T_C_S1)) == FAIL ) {
|
||||
fprintf(stderr, "Error: Problems translating h4 type to mem type\n");
|
||||
DEBUG_PRINT("Error detected in %s() [%s line %d]\n", "convert_dataset_string", __FILE__, __LINE__);
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -295,5 +295,7 @@ if test $nerrors -eq 0 ; then
|
||||
echo "All h5toh4 tests passed."
|
||||
fi
|
||||
|
||||
$RM -r $OUTDIR
|
||||
if test -z "$HDF5_NOCLEANUP"; then
|
||||
$RM -r $OUTDIR
|
||||
fi
|
||||
exit $nerrors
|
||||
|
Loading…
Reference in New Issue
Block a user