diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2014-04-11 14:48:31 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2014-04-11 14:48:31 (GMT) |
commit | 8a524752454c04a07a378b39abc929fd8948d91b (patch) | |
tree | e6ad7cc080461c68bdc7dda04df9da07026ce3a2 /src/H5.c | |
parent | 6240fb24e6e06039dada4bc7e23ca1a211a0ab2c (diff) | |
download | hdf5-8a524752454c04a07a378b39abc929fd8948d91b.zip hdf5-8a524752454c04a07a378b39abc929fd8948d91b.tar.gz hdf5-8a524752454c04a07a378b39abc929fd8948d91b.tar.bz2 |
[svn-r25014] Purpose:
Merge of r24937 from the trunk
Adds H5free_memory to the API. This function should be used to free
memory allocated by the library (e.g., returned values from
H5Tget_tag, H5Pget_class_name, etc.).
This is mainly to help Windows applications deal with multiple CRT
instances, but can also be helpful when a debug memory manager is
being used or when the HDF5 API is being wrapped for managed languages
like Python and Java.
Tested on:
32-bit LE linux (jam) with fortran and C++
64-bit BE linux (ostrich)
64-bit LE linux (koala)
Diffstat (limited to 'src/H5.c')
-rw-r--r-- | src/H5.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -804,3 +804,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() */ + |