[svn-r30289] Fix for HDFFV-9960 H5DOappend without append callback.

This is the second part of the fix--see crucible review HDF5-383.
Tested on mayll, platypus, osx1010test, emu, kituo, kite, quail, moohan, ostrich.
This commit is contained in:
Vailin Choi 2016-08-14 18:02:49 -05:00
parent f40381b0ea
commit 197b29ced6

View File

@ -238,26 +238,24 @@ H5DOappend(hid_t dset_id, hid_t dxpl_id, unsigned axis, size_t extension,
goto done;
/* No boundary for this axis */
if(boundary[axis] == 0) {
ret_value = SUCCEED;
goto done;
}
if(boundary[axis] != 0) {
/* Determine whether a boundary is hit or not */
for(k = start[axis]; k < size[axis]; k++)
if(!((k + 1) % boundary[axis])) {
hit = TRUE;
break;
}
/* Determine whether a boundary is hit or not */
for(k = start[axis]; k < size[axis]; k++)
if(!((k + 1) % boundary[axis])) {
hit = TRUE;
break;
}
if(hit) { /* Hit the boundary */
/* Invoke callback if there is one */
if(append_cb && append_cb(dset_id, size, udata) < 0)
goto done;
if(hit) { /* Hit the boundary */
/* Invoke callback if there is one */
if(append_cb && append_cb(dset_id, size, udata) < 0)
goto done;
/* Do a dataset flush */
if(H5Dflush(dset_id) < 0)
goto done;
/* Do a dataset flush */
if(H5Dflush(dset_id) < 0)
goto done;
} /* end if */
} /* end if */
/* Indicate success */