mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-01 16:28:09 +08:00
[svn-r24937] Adds an H5free_memory() function to the library for use with
functions that return library-allocated memory. The test and tool code were modified to use this new function where it's appropriate. Fixes HDFFV-7710, HDFFV-8519, and HDFFV-8551 Tested on: 64-bit Windows 7 w/ VS2012 32-bit LE linux w/ parallel and fortran (jam) 32-bit LE linux w/ fortran and C++ (jam)
This commit is contained in:
parent
ef9db69bf3
commit
d01ee66666
@ -123,7 +123,7 @@ H5std_string CompType::getMemberName( unsigned member_num ) const
|
||||
"H5Tget_member_name returns NULL for member name");
|
||||
}
|
||||
H5std_string member_name = H5std_string(member_name_C); // convert C string to string
|
||||
HDfree(member_name_C); // free the C string
|
||||
H5free_memory(member_name_C); // free the C string
|
||||
return( member_name ); // return the member name string
|
||||
}
|
||||
|
||||
|
@ -563,7 +563,7 @@ H5std_string DataType::getTag() const
|
||||
if( tag_Cstr != NULL )
|
||||
{
|
||||
H5std_string tag = H5std_string(tag_Cstr); // C string to string object
|
||||
HDfree(tag_Cstr); // free the C string
|
||||
H5free_memory(tag_Cstr); // free the C string
|
||||
return (tag); // return the tag
|
||||
}
|
||||
else
|
||||
|
@ -490,7 +490,7 @@ H5std_string PropList::getClassName() const
|
||||
if (temp_str != NULL)
|
||||
{
|
||||
H5std_string class_name(temp_str);
|
||||
HDfree(temp_str);
|
||||
H5free_memory(temp_str);
|
||||
return(class_name);
|
||||
}
|
||||
else
|
||||
|
@ -143,8 +143,8 @@ done:
|
||||
* NAME
|
||||
* h5eget_major_c
|
||||
* PURPOSE
|
||||
* Call H5Eget_major to get a character string
|
||||
* describing an error specified by a major error number.
|
||||
* Get a character string describing an error specified by a
|
||||
* major error number.
|
||||
* INPUTS
|
||||
* error_no - Major error number
|
||||
* OUTPUTS
|
||||
@ -173,7 +173,7 @@ nh5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen)
|
||||
HGOTO_DONE(FAIL)
|
||||
|
||||
/*
|
||||
* Call H5Eget_major function.
|
||||
* Call H5Eget_msg function.
|
||||
*/
|
||||
H5Eget_msg((hid_t)*error_no, NULL, c_name, c_namelen);
|
||||
HD5packFstring((char*)c_name, _fcdtocp(name), c_namelen);
|
||||
@ -191,8 +191,8 @@ done:
|
||||
* NAME
|
||||
* h5eget_minor_c
|
||||
* PURPOSE
|
||||
* Call H5Eget_minor to get a character string
|
||||
* describing an error specified by a minor error number.
|
||||
* Get a character string describing an error specified by a
|
||||
* minor error number.
|
||||
* INPUTS
|
||||
* error_no - Major error number
|
||||
* OUTPUTS
|
||||
@ -221,7 +221,7 @@ nh5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen)
|
||||
HGOTO_DONE(FAIL)
|
||||
|
||||
/*
|
||||
* Call H5Eget_minor function.
|
||||
* Call H5Eget_msg function.
|
||||
*/
|
||||
H5Eget_msg((hid_t)*error_no, NULL, c_name, c_namelen);
|
||||
HD5packFstring((char *)c_name, _fcdtocp(name), c_namelen);
|
||||
|
@ -3388,7 +3388,7 @@ nh5pget_class_name_c(hid_t_f *cls, _fcd name, int_f *name_len)
|
||||
|
||||
HD5packFstring(c_name, _fcdtocp(name), (size_t)*name_len);
|
||||
ret_value = (int_f)HDstrlen(c_name);
|
||||
HDfree(c_name);
|
||||
H5free_memory(c_name);
|
||||
|
||||
DONE:
|
||||
return ret_value;
|
||||
|
@ -1280,7 +1280,7 @@ nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *n
|
||||
|
||||
HD5packFstring(c_name, _fcdtocp(member_name), strlen(c_name));
|
||||
*namelen = (int_f)strlen(c_name);
|
||||
HDfree(c_name);
|
||||
H5free_memory(c_name);
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
@ -1986,7 +1986,7 @@ nh5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* taglen)
|
||||
|
||||
HD5packFstring(c_tag, _fcdtocp(tag), (size_t)*tag_size);
|
||||
*taglen = (int_f)HDstrlen(c_tag);
|
||||
HDfree(c_tag);
|
||||
H5free_memory(c_tag);
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
|
@ -2359,7 +2359,7 @@ print_enum(hid_t type, char* str, size_t *str_len, hbool_t no_ubuf, size_t indt)
|
||||
|
||||
/* Release resources */
|
||||
for(i = 0; i < nmembs; i++)
|
||||
HDfree(name[i]);
|
||||
H5free_memory(name[i]);
|
||||
|
||||
HDfree(name);
|
||||
HDfree(value);
|
||||
@ -2744,7 +2744,7 @@ next:
|
||||
if(tag) {
|
||||
HDsnprintf(tmp_str, TMP_LEN, "OPQ_TAG \"%s\";\n", tag);
|
||||
if(tag)
|
||||
HDfree(tag);
|
||||
H5free_memory(tag);
|
||||
tag = NULL;
|
||||
} else
|
||||
HDsnprintf(tmp_str, TMP_LEN, "OPQ_TAG \"\";\n");
|
||||
@ -2950,7 +2950,7 @@ next:
|
||||
if(!(dt_str = realloc_and_append(no_user_buf, slen, dt_str, tmp_str)))
|
||||
goto out;
|
||||
if(mname)
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
mname = NULL;
|
||||
|
||||
HDsnprintf(tmp_str, TMP_LEN, " : %lu;\n", (unsigned long)moffset);
|
||||
|
@ -196,7 +196,7 @@ herr_t H5TBmake_table( const char *table_title,
|
||||
if (H5LTset_attribute_string( loc_id, dset_name, attr_name, member_name ) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
}
|
||||
|
||||
@ -234,7 +234,7 @@ herr_t H5TBmake_table( const char *table_title,
|
||||
if (H5Aclose(attr_id) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree(member_name);
|
||||
H5free_memory(member_name);
|
||||
}
|
||||
|
||||
/* terminate access to the data space. */
|
||||
@ -570,7 +570,7 @@ herr_t H5TBwrite_fields_name( hid_t loc_id,
|
||||
goto out;
|
||||
}
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
}
|
||||
|
||||
@ -734,7 +734,7 @@ herr_t H5TBwrite_fields_index( hid_t loc_id,
|
||||
if(H5Tclose( nmtype_id ) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
}
|
||||
|
||||
@ -1059,7 +1059,7 @@ herr_t H5TBread_fields_name( hid_t loc_id,
|
||||
goto out;
|
||||
j++;
|
||||
}
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
}
|
||||
|
||||
/* get the dataspace handle */
|
||||
@ -1221,7 +1221,7 @@ herr_t H5TBread_fields_index( hid_t loc_id,
|
||||
if (H5Tclose( nmtype_id ) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
}
|
||||
|
||||
/* get the dataspace handle */
|
||||
@ -2314,7 +2314,7 @@ herr_t H5TBinsert_field( hid_t loc_id,
|
||||
|
||||
curr_offset += member_size;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
/* close the member type */
|
||||
if(H5Tclose( member_type_id ) < 0)
|
||||
@ -2694,13 +2694,13 @@ herr_t H5TBdelete_field( hid_t loc_id,
|
||||
if (H5Tclose( member_type_id ) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
} /* i */
|
||||
|
||||
@ -2742,7 +2742,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
|
||||
/* we want to skip the field to delete */
|
||||
if (H5TB_find_field( member_name, field_name ) > 0 )
|
||||
{
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -2780,7 +2780,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
|
||||
|
||||
curr_offset += member_size;
|
||||
|
||||
HDfree(member_name);
|
||||
H5free_memory(member_name);
|
||||
|
||||
/* close the member type */
|
||||
if (H5Tclose(member_type_id) < 0)
|
||||
@ -2821,7 +2821,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
|
||||
/* skip the field to delete */
|
||||
if (H5TB_find_field(member_name, field_name) > 0)
|
||||
{
|
||||
HDfree(member_name);
|
||||
H5free_memory(member_name);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -2881,7 +2881,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
|
||||
goto out;
|
||||
|
||||
/* release resources. */
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
HDfree ( tmp_buf );
|
||||
|
||||
} /* i */
|
||||
@ -3306,7 +3306,7 @@ herr_t H5TBget_field_info( hid_t loc_id,
|
||||
|
||||
member_name = H5Tget_member_name(tid, (unsigned)i);
|
||||
strcpy(field_names[i], member_name);
|
||||
HDfree(member_name);
|
||||
H5free_memory(member_name);
|
||||
} /* end if */
|
||||
|
||||
/* get the member type */
|
||||
@ -3459,7 +3459,7 @@ herr_t H5TB_attach_attributes( const char *table_title,
|
||||
if (H5LTset_attribute_string( loc_id, dset_name, attr_name, member_name ) < 0)
|
||||
goto out;
|
||||
|
||||
HDfree( member_name );
|
||||
H5free_memory( member_name );
|
||||
|
||||
}
|
||||
|
||||
|
@ -1551,10 +1551,10 @@ static int test_compounds(void)
|
||||
if((memb_name = H5Tget_member_name(dtype, 1)) == NULL)
|
||||
goto out;
|
||||
if(HDstrcmp(memb_name, "i16_field")) {
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
goto out;
|
||||
}
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
|
||||
if((memb_class = H5Tget_member_class(dtype, 2))<0)
|
||||
goto out;
|
||||
@ -1619,10 +1619,10 @@ static int test_compound_bug(void)
|
||||
if((memb_name = H5Tget_member_name(dtype, 2)) == NULL)
|
||||
goto out;
|
||||
if(HDstrcmp(memb_name, "sub")) {
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
goto out;
|
||||
}
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
|
||||
if(H5LTdtype_to_text(dtype, NULL, H5LT_DDL, &str_len)<0)
|
||||
goto out;
|
||||
@ -1656,10 +1656,10 @@ static int test_compound_bug(void)
|
||||
if((memb_name = H5Tget_member_name(dtype, 1)) == NULL)
|
||||
goto out;
|
||||
if(HDstrcmp(memb_name, "desc_________________________________________________________________________________________")) {
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
goto out;
|
||||
}
|
||||
HDfree(memb_name);
|
||||
H5free_memory(memb_name);
|
||||
|
||||
if(H5LTdtype_to_text(dtype, NULL, H5LT_DDL, &str_len)<0)
|
||||
goto out;
|
||||
|
25
src/H5.c
25
src/H5.c
@ -806,3 +806,28 @@ H5close(void)
|
||||
FUNC_LEAVE_API_NOFS(SUCCEED)
|
||||
} /* end H5close() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5free_memory
|
||||
*
|
||||
* Purpose: Frees memory allocated by the library that it is the user's
|
||||
* responsibility to free. Ensures that the same library
|
||||
* that was used to allocate the memory frees it. Passing
|
||||
* NULL pointers is allowed.
|
||||
*
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5free_memory(void *mem)
|
||||
{
|
||||
FUNC_ENTER_API_NOINIT
|
||||
H5TRACE1("e", "*x", mem);
|
||||
|
||||
/* At this time, it is impossible for this to fail. */
|
||||
HDfree(mem);
|
||||
|
||||
FUNC_LEAVE_API(SUCCEED)
|
||||
} /* end H5free_memory() */
|
||||
|
||||
|
@ -334,6 +334,7 @@ H5_DLL herr_t H5get_libversion(unsigned *majnum, unsigned *minnum,
|
||||
unsigned *relnum);
|
||||
H5_DLL herr_t H5check_version(unsigned majnum, unsigned minnum,
|
||||
unsigned relnum);
|
||||
H5_DLL herr_t H5free_memory(void *mem);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -651,7 +651,7 @@ test_compound_1(void)
|
||||
|
||||
error:
|
||||
if(tag)
|
||||
HDfree(tag);
|
||||
H5free_memory(tag);
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -4422,7 +4422,7 @@ error:
|
||||
if(buf)
|
||||
HDfree(buf);
|
||||
if(tag)
|
||||
HDfree(tag);
|
||||
H5free_memory(tag); /* Technically allocated by API call */
|
||||
|
||||
reset_hdf5();
|
||||
return ret_value; /* Number of errors */
|
||||
@ -4790,8 +4790,7 @@ test_bitfield_funcs(void)
|
||||
error:
|
||||
|
||||
if (retval == -1) retval = 1;
|
||||
|
||||
HDfree(tag);
|
||||
H5free_memory(tag);
|
||||
H5Tclose(ntype);
|
||||
H5Tclose(type);
|
||||
if (retval == 0) PASSED();
|
||||
@ -6473,7 +6472,7 @@ test_named_indirect_reopen(hid_t fapl)
|
||||
if(dt_size != H5Tget_size(type)) TEST_ERROR
|
||||
if(NULL == (tag_ret = H5Tget_tag(type))) TEST_ERROR
|
||||
if(HDstrcmp(tag, tag_ret)) TEST_ERROR
|
||||
HDfree(tag_ret);
|
||||
H5free_memory(tag_ret);
|
||||
tag_ret = NULL;
|
||||
|
||||
/* Create dataset with opaque type */
|
||||
@ -6484,7 +6483,7 @@ test_named_indirect_reopen(hid_t fapl)
|
||||
if(dt_size != H5Tget_size(reopened_type)) TEST_ERROR
|
||||
if(NULL == (tag_ret = H5Tget_tag(type))) TEST_ERROR
|
||||
if(HDstrcmp(tag, tag_ret)) TEST_ERROR
|
||||
HDfree(tag_ret);
|
||||
H5free_memory(tag_ret);
|
||||
tag_ret = NULL;
|
||||
|
||||
/* Close types and dataset */
|
||||
@ -6534,7 +6533,7 @@ error:
|
||||
H5Fclose(file);
|
||||
} H5E_END_TRY;
|
||||
if(tag_ret)
|
||||
HDfree(tag_ret);
|
||||
H5free_memory(tag_ret);
|
||||
return 1;
|
||||
} /* end test_named_indirect_reopen() */
|
||||
|
||||
|
@ -144,16 +144,16 @@ custom_print_cb1(int n, H5E_error1_t *err_desc, void* client_data)
|
||||
fprintf(stream, "%*smajor: %s\n", indent * 2, "", maj);
|
||||
fprintf(stream, "%*sminor: %s\n", indent * 2, "", min);
|
||||
|
||||
HDfree(maj);
|
||||
HDfree(min);
|
||||
H5free_memory(maj);
|
||||
H5free_memory(min);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
if(maj)
|
||||
HDfree(maj);
|
||||
H5free_memory(maj);
|
||||
if(min)
|
||||
HDfree(min);
|
||||
H5free_memory(min);
|
||||
|
||||
return -1;
|
||||
}
|
||||
@ -197,16 +197,16 @@ custom_print_cb2(int n, H5E_error2_t *err_desc, void* client_data)
|
||||
fprintf(stream, "%*smajor: %s\n", indent * 2, "", maj);
|
||||
fprintf(stream, "%*sminor: %s\n", indent * 2, "", min);
|
||||
|
||||
HDfree(maj);
|
||||
HDfree(min);
|
||||
H5free_memory(maj);
|
||||
H5free_memory(min);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
if(maj)
|
||||
HDfree(maj);
|
||||
H5free_memory(maj);
|
||||
if(min)
|
||||
HDfree(min);
|
||||
H5free_memory(min);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -637,7 +637,7 @@ test_array_compound_atomic(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname, "i") != 0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 1st field's offset */
|
||||
off = H5Tget_member_offset(tid2, 0);
|
||||
@ -656,7 +656,7 @@ test_array_compound_atomic(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname, "f") != 0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 2nd field's offset */
|
||||
off = H5Tget_member_offset(tid2, 1);
|
||||
@ -849,7 +849,7 @@ test_array_compound_array(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname,"i")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 1st field's offset */
|
||||
off=H5Tget_member_offset(tid2,0);
|
||||
@ -868,7 +868,7 @@ test_array_compound_array(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname,"f")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 2nd field's offset */
|
||||
off=H5Tget_member_offset(tid2,1);
|
||||
@ -1848,7 +1848,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname,"i")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 1st field's offset */
|
||||
off=H5Tget_member_offset(tid1,0);
|
||||
@ -1867,7 +1867,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname,"f")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 2nd field's offset */
|
||||
off=H5Tget_member_offset(tid1,1);
|
||||
@ -1886,7 +1886,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(HDstrcmp(mname,"l")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
/* Check the 3rd field's offset */
|
||||
off=H5Tget_member_offset(tid1,2);
|
||||
@ -1930,7 +1930,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(mname && HDstrcmp(mname,"i")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
if(mname) HDfree(mname);
|
||||
if(mname) H5free_memory(mname);
|
||||
|
||||
/* Check the 1st field's offset */
|
||||
off=H5Tget_member_offset(tid1,0);
|
||||
@ -1949,7 +1949,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(mname && HDstrcmp(mname,"f")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
if(mname) HDfree(mname);
|
||||
if(mname) H5free_memory(mname);
|
||||
|
||||
/* Check the 2nd field's offset */
|
||||
off=H5Tget_member_offset(tid1,1);
|
||||
@ -1994,7 +1994,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(mname && HDstrcmp(mname,"l")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
if(mname) HDfree(mname);
|
||||
if(mname) H5free_memory(mname);
|
||||
|
||||
/* Check the 3rd field's offset */
|
||||
off=H5Tget_member_offset(tid1,2);
|
||||
@ -2039,7 +2039,7 @@ test_compat(void)
|
||||
CHECK(mname, NULL, "H5Tget_member_name");
|
||||
if(mname && HDstrcmp(mname,"d")!=0)
|
||||
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
|
||||
if(mname) HDfree(mname);
|
||||
if(mname) H5free_memory(mname);
|
||||
|
||||
/* Check the 4th field's offset */
|
||||
off=H5Tget_member_offset(tid1,3);
|
||||
|
@ -829,7 +829,7 @@ test_attr_compound_read(hid_t fapl)
|
||||
HDstrcmp(fieldname, ATTR4_FIELDNAME2) ||
|
||||
HDstrcmp(fieldname, ATTR4_FIELDNAME3)))
|
||||
TestErrPrintf("invalid field name for field #%d: %s\n", i, fieldname);
|
||||
HDfree(fieldname);
|
||||
H5free_memory(fieldname);
|
||||
} /* end for */
|
||||
offset = H5Tget_member_offset(type, 0);
|
||||
VERIFY(offset, attr4_field1_off, "H5Tget_member_offset");
|
||||
|
@ -88,7 +88,7 @@ test_genprop_basic_class(void)
|
||||
CHECK_PTR(name, "H5Pget_class_name");
|
||||
if(HDstrcmp(name,CLASS1_NAME)!=0)
|
||||
TestErrPrintf("Class names don't match!, name=%s, CLASS1_NAME=%s\n",name,CLASS1_NAME);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Check class parent */
|
||||
cid2 = H5Pget_class_parent(cid1);
|
||||
@ -119,7 +119,7 @@ test_genprop_basic_class(void)
|
||||
CHECK_PTR(name, "H5Pget_class_name");
|
||||
if(HDstrcmp(name,CLASS2_NAME)!=0)
|
||||
TestErrPrintf("Class names don't match!, name=%s, CLASS2_NAME=%s\n",name,CLASS2_NAME);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Check class parent */
|
||||
cid2 = H5Pget_class_parent(cid1);
|
||||
@ -1868,7 +1868,7 @@ test_genprop_refcount(void)
|
||||
CHECK_PTR(name, "H5Pget_class_name");
|
||||
if(HDstrcmp(name,CLASS1_NAME)!=0)
|
||||
TestErrPrintf("Class names don't match!, name=%s, CLASS1_NAME=%s\n",name,CLASS1_NAME);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Close class */
|
||||
ret = H5Pclose_class(cid1);
|
||||
@ -1887,7 +1887,7 @@ test_genprop_refcount(void)
|
||||
CHECK_PTR(name, "H5Pget_class_name");
|
||||
if(HDstrcmp(name,CLASS1_NAME)!=0)
|
||||
TestErrPrintf("Class names don't match!, name=%s, CLASS1_NAME=%s\n",name,CLASS1_NAME);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Close list */
|
||||
ret = H5Pclose(lid1);
|
||||
@ -1898,7 +1898,7 @@ test_genprop_refcount(void)
|
||||
CHECK_PTR(name, "H5Pget_class_name");
|
||||
if(HDstrcmp(name,CLASS1_NAME)!=0)
|
||||
TestErrPrintf("Class names don't match!, name=%s, CLASS1_NAME=%s\n",name,CLASS1_NAME);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Close class */
|
||||
ret = H5Pclose_class(cid1);
|
||||
|
@ -602,7 +602,7 @@ void test_compound(hid_t fid, const char * string)
|
||||
readbuf = H5Tget_member_name(s1_tid, 0);
|
||||
ret = HDstrcmp(readbuf, string);
|
||||
VERIFY(ret, 0, "strcmp");
|
||||
HDfree(readbuf);
|
||||
H5free_memory(readbuf);
|
||||
|
||||
/* Add the other fields to the datatype */
|
||||
ret = H5Tinsert(s1_tid, "c_name", HOFFSET(s1_t, c), H5T_NATIVE_DOUBLE);
|
||||
@ -715,7 +715,7 @@ void test_opaque(hid_t UNUSED fid, const char * string)
|
||||
read_buf = H5Tget_tag(type_id);
|
||||
ret = strcmp(read_buf, string);
|
||||
VERIFY(ret, 0, "H5Tget_tag");
|
||||
HDfree(read_buf);
|
||||
H5free_memory(read_buf);
|
||||
|
||||
ret = H5Tclose(type_id);
|
||||
CHECK(ret, FAIL, "H5Tclose");
|
||||
|
@ -1216,7 +1216,7 @@ xml_print_datatype(hid_t type, unsigned in_group)
|
||||
/* Render the element */
|
||||
h5tools_str_reset(&buffer);
|
||||
h5tools_str_append(&buffer, "<%sOpaqueType Tag=\"%s\" ",xmlnsprefix, mname);
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
size = H5Tget_size(type);
|
||||
h5tools_str_append(&buffer, "Size=\"%lu\"/>", (unsigned long)size);
|
||||
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
|
||||
@ -1265,7 +1265,7 @@ xml_print_datatype(hid_t type, unsigned in_group)
|
||||
h5tools_str_append(&buffer, "<%sField FieldName=\"%s\">",xmlnsprefix, t_fname);
|
||||
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
|
||||
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
HDfree(t_fname);
|
||||
dump_indent += COL;
|
||||
ctx.indent_level++;
|
||||
@ -3623,7 +3623,8 @@ xml_dump_fill_value(hid_t dcpl, hid_t type)
|
||||
h5tools_str_reset(&buffer);
|
||||
h5tools_str_append(&buffer, "\"%s\"", name);
|
||||
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
|
||||
|
||||
if(name)
|
||||
H5free_memory(name);
|
||||
ctx.need_prefix = TRUE;
|
||||
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
|
||||
|
||||
@ -4526,7 +4527,7 @@ xml_print_enum(hid_t type)
|
||||
|
||||
/* Release resources */
|
||||
for (i = 0; i < nmembs; i++)
|
||||
HDfree(name[i]);
|
||||
H5free_memory(name[i]);
|
||||
|
||||
HDfree(name);
|
||||
HDfree(value);
|
||||
|
@ -845,7 +845,7 @@ print_cmpd_type(h5tools_str_t *buffer, hid_t type, int ind)
|
||||
n = print_string(buffer, name, FALSE);
|
||||
h5tools_str_append(buffer, "\"%*s +%-4lu ", MAX(0, 16-n), "",
|
||||
(unsigned long)H5Tget_member_offset(type, i));
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* Member's type */
|
||||
subtype = H5Tget_member_type(type, i);
|
||||
@ -927,7 +927,7 @@ print_enum_type(h5tools_str_t *buffer, hid_t type, int ind)
|
||||
if(H5Tconvert(super, native, (size_t)nmembs, value, NULL, H5P_DEFAULT) < 0) {
|
||||
/* Release resources */
|
||||
for(i = 0; i < (unsigned)nmembs; i++)
|
||||
HDfree(name[i]);
|
||||
H5free_memory(name[i]);
|
||||
HDfree(name);
|
||||
HDfree(value);
|
||||
|
||||
@ -1154,7 +1154,7 @@ print_opaque_type(h5tools_str_t *buffer, hid_t type, int ind)
|
||||
h5tools_str_append(buffer, "\n%*s(tag = \"", ind, "");
|
||||
print_string(buffer, tag, FALSE);
|
||||
h5tools_str_append(buffer, "\")");
|
||||
HDfree(tag);
|
||||
H5free_memory(tag);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -2336,7 +2336,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_
|
||||
h5tools_str_append(buffer, "OPAQUE_TAG \"%s\";", ttag);
|
||||
h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
|
||||
|
||||
HDfree(ttag);
|
||||
H5free_memory(ttag);
|
||||
}
|
||||
ctx->indent_level--;
|
||||
|
||||
@ -2372,7 +2372,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_
|
||||
}
|
||||
else
|
||||
HERROR(H5E_tools_g, H5E_tools_min_id_g, "H5Tget_member_type failed");
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
}
|
||||
ctx->indent_level--;
|
||||
|
||||
@ -2688,7 +2688,7 @@ CATCH
|
||||
/* Release resources */
|
||||
for(i = 0; i < nmembs; i++)
|
||||
if(name[i])
|
||||
HDfree(name[i]);
|
||||
H5free_memory(name[i]);
|
||||
HDfree(name);
|
||||
} /* end if */
|
||||
|
||||
|
@ -991,7 +991,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
|
||||
/* The name */
|
||||
name = H5Tget_member_name(type, j);
|
||||
h5tools_str_append(str, OPT(info->cmpd_name, ""), name);
|
||||
HDfree(name);
|
||||
H5free_memory(name);
|
||||
|
||||
/* The value */
|
||||
offset = H5Tget_member_offset(type, j);
|
||||
|
@ -152,7 +152,7 @@ out:
|
||||
mname ? mname : "(null)", (int)H5Tget_member_offset(fix,0),
|
||||
string5, (char *)(data + H5Tget_member_offset(fix, 0)));
|
||||
if(mname)
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
|
||||
mname = H5Tget_member_name(fix, 1);
|
||||
@ -163,7 +163,7 @@ out:
|
||||
(double)fok[0], (double)fptr[0],
|
||||
(double)fok[1], (double)fptr[1]);
|
||||
if(mname)
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
fptr = (float *)(data + H5Tget_member_offset(fix, 2));
|
||||
mname = H5Tget_member_name(fix, 2);
|
||||
@ -173,7 +173,7 @@ out:
|
||||
(double)fnok[0], (double)fptr[0],
|
||||
(double)fnok[1], (double)fptr[1]);
|
||||
if(mname)
|
||||
HDfree(mname);
|
||||
H5free_memory(mname);
|
||||
|
||||
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
|
||||
printf("\n"
|
||||
|
Loading…
Reference in New Issue
Block a user