diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-05-15 23:28:15 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-05-15 23:28:15 (GMT) |
commit | f5500a0051eecfc0d7f118b6f122aa889a02d627 (patch) | |
tree | f404491b242c2070e8060a71b165c96d0a3ee532 | |
parent | 6377386751047d3f510550a917e1ae126cc0b482 (diff) | |
download | hdf5-f5500a0051eecfc0d7f118b6f122aa889a02d627.zip hdf5-f5500a0051eecfc0d7f118b6f122aa889a02d627.tar.gz hdf5-f5500a0051eecfc0d7f118b6f122aa889a02d627.tar.bz2 |
[svn-r6882] Purpose:
Bug Fix
Description:
The H5HG module had a couple of lines like the following:
HDmemcpy(foo + 1, foo, size);
This would overwrite the first character of "foo" for the total of
"size" bytes.
The H5Pfapl.c is an update of the trace information.
Solution:
Use HDmemmove instead. (Suggested by George Lewandowski at Boeing.
Thanks! :-)
Platforms tested:
Modi4 (Fortran & Parallel)
Verbena (Fortran & C++)
Arabica (Fortran)
Misc. update:
-rw-r--r-- | src/H5HG.c | 4 | ||||
-rw-r--r-- | src/H5Pfapl.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -425,13 +425,13 @@ H5HG_load (H5F_t *f, hid_t dxpl_id, haddr_t addr, const void UNUSED * udata1, } else if (H5HG_NCWFS==f->shared->ncwfs) { for (i=H5HG_NCWFS-1; i>=0; --i) { if (f->shared->cwfs[i]->obj[0].size < heap->obj[0].size) { - HDmemcpy (f->shared->cwfs+1, f->shared->cwfs, i * sizeof(H5HG_heap_t*)); + HDmemmove (f->shared->cwfs+1, f->shared->cwfs, i * sizeof(H5HG_heap_t*)); f->shared->cwfs[0] = heap; break; } } } else { - HDmemcpy (f->shared->cwfs+1, f->shared->cwfs, f->shared->ncwfs*sizeof(H5HG_heap_t*)); + HDmemmove (f->shared->cwfs+1, f->shared->cwfs, f->shared->ncwfs*sizeof(H5HG_heap_t*)); f->shared->ncwfs += 1; f->shared->cwfs[0] = heap; } diff --git a/src/H5Pfapl.c b/src/H5Pfapl.c index c6df4ea..d3f5d6a 100644 --- a/src/H5Pfapl.c +++ b/src/H5Pfapl.c @@ -528,6 +528,7 @@ H5Pset_family_offset(hid_t fapl_id, hsize_t offset) herr_t ret_value=SUCCEED; /* return value */ FUNC_ENTER_API(H5Pset_family_offset, FAIL); + H5TRACE2("e","ih",fapl_id,offset); /* Get the plist structure */ if(H5P_DEFAULT == fapl_id) @@ -604,6 +605,7 @@ H5Pget_family_offset(hid_t fapl_id, hsize_t *offset) herr_t ret_value=SUCCEED; /* return value */ FUNC_ENTER_API(H5Pget_family_offset, FAIL); + H5TRACE2("e","i*h",fapl_id,offset); /* Get the plist structure */ if(H5P_DEFAULT == fapl_id) @@ -680,6 +682,7 @@ H5Pset_multi_type(hid_t fapl_id, H5FD_mem_t type) herr_t ret_value=SUCCEED; /* return value */ FUNC_ENTER_API(H5Pset_multi_type, FAIL); + H5TRACE2("e","iMt",fapl_id,type); /* Get the plist structure */ if(H5P_DEFAULT == fapl_id) @@ -756,6 +759,7 @@ H5Pget_multi_type(hid_t fapl_id, H5FD_mem_t *type) herr_t ret_value=SUCCEED; /* return value */ FUNC_ENTER_API(H5Pget_multi_type, FAIL); + H5TRACE2("e","i*Mt",fapl_id,type); /* Get the plist structure */ if(H5P_DEFAULT == fapl_id) |