diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2019-01-20 22:49:46 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2019-01-20 23:46:28 (GMT) |
commit | d584b233a571fcc9854a716590fd09bd9e9320c4 (patch) | |
tree | 9df45ef1810e83b2c18e113d040ce6141b80c090 /src/H5E.c | |
parent | 43bd93c4f53a4fb456391be51afbe0c2d816d3fa (diff) | |
download | hdf5-d584b233a571fcc9854a716590fd09bd9e9320c4.zip hdf5-d584b233a571fcc9854a716590fd09bd9e9320c4.tar.gz hdf5-d584b233a571fcc9854a716590fd09bd9e9320c4.tar.bz2 |
Fixed HDFFV-10684
Description:
The test for HDFFV-10588 has revealed a bug in H5Ewalk.
H5Ewalk did not stop midway even when the call back function returns
H5_ITER_STOP. This is because a condition is missing from the for
loops in H5E__walk causing the callback functions unable to stop until
all the errors in the stack are iterated. Quincey advised on the final
fix. In this fix, "status" is switched to "ret_value" and HGOTO_ERROR
to HERROR, and the for loops won't continue when "ret_value" is not 0.
Platforms tested:
Linux/64 (jelly)
Linux/64 (platypus)
Darwin (osx1010test)
Diffstat (limited to 'src/H5E.c')
-rw-r--r-- | src/H5E.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1484,7 +1484,7 @@ done: * * Purpose: Prints the error stack in some default way. This is just a * convenience function for H5Ewalk() with a function that - * prints error messages. Users are encouraged to write there + * prints error messages. Users are encouraged to write their * own more specific error handlers. * * Return: SUCCEED/FAIL @@ -1567,7 +1567,7 @@ H5Ewalk2(hid_t err_stack, H5E_direction_t direction, H5E_walk2_t stack_func, voi op.vers = 2; op.u.func2 = stack_func; if(H5E__walk(estack, direction, &op, client_data) < 0) - HGOTO_ERROR(H5E_ERROR, H5E_CANTLIST, FAIL, "can't walk error stack") + HERROR(H5E_ERROR, H5E_CANTLIST, "can't walk error stack"); done: FUNC_LEAVE_API(ret_value) |