diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-27 17:53:37 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-27 17:53:37 (GMT) |
commit | bb87e6bac6a2d31ab70792eee8ca065860a979f6 (patch) | |
tree | 3e97bbfd0ab686c6e09c2e69e4b31116d320f79b /src/H5E.c | |
parent | 84540ce6d1708e98c152276f524c938435da804c (diff) | |
download | hdf5-bb87e6bac6a2d31ab70792eee8ca065860a979f6.zip hdf5-bb87e6bac6a2d31ab70792eee8ca065860a979f6.tar.gz hdf5-bb87e6bac6a2d31ab70792eee8ca065860a979f6.tar.bz2 |
[svn-r19479] I'm backing out my fix for bug 1707 because there're some unresolved issues - r19441 and 19466.
Bug 1707 is that H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with
the 1.8 library to compile.
Tested on jam - backing out, simple.
Diffstat (limited to 'src/H5E.c')
-rw-r--r-- | src/H5E.c | 24 |
1 files changed, 7 insertions, 17 deletions
@@ -170,18 +170,13 @@ H5E_set_default_auto(H5E_t *stk) { FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5E_set_default_auto) -#ifdef H5_USE_16_API_DEFAULT +#ifdef H5_USE_16_API stk->auto_op.vers = 1; -#else /* H5_USE_16_API_DEFAULT */ + stk->auto_op.u.func1 = (H5E_auto1_t)H5Eprint1; +#else /* H5_USE_16_API */ stk->auto_op.vers = 2; -#endif /* H5_USE_16_API_DEFAULT */ -#ifdef H5_NO_DEPRECATED_SYMBOLS - stk->auto_op.vers = 2; -#else - stk->auto_op.func1 = (H5E_auto1_t)H5Eprint1; -#endif - stk->auto_op.func2 = (H5E_auto2_t)H5Eprint2; - stk->auto_op.user_set = FALSE; + stk->auto_op.u.func2 = (H5E_auto2_t)H5Eprint2; +#endif /* H5_USE_16_API */ stk->auto_data = NULL; FUNC_LEAVE_NOAPI(SUCCEED) @@ -1578,12 +1573,8 @@ H5Eget_auto2(hid_t estack_id, H5E_auto2_t *func, void **client_data) /* Get the automatic error reporting information */ if(H5E_get_auto(estack, &op, client_data) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get automatic error info") - - if(op.user_set && op.vers == 1) - HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "wrong API function, H5Eset_auto1 has been called") - if(func) - *func = op.func2; + *func = op.u.func2; done: FUNC_LEAVE_API(ret_value) @@ -1633,8 +1624,7 @@ H5Eset_auto2(hid_t estack_id, H5E_auto2_t func, void *client_data) /* Set the automatic error reporting information */ op.vers = 2; - op.user_set = TRUE; - op.func2 = func; + op.u.func2 = func; if(H5E_set_auto(estack, &op, client_data) < 0) HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't set automatic error info") |