summaryrefslogtreecommitdiffstats
path: root/src/H5E.c
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2010-09-27 19:02:48 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2010-09-27 19:02:48 (GMT)
commit1c61b6fe13f6fd9c84c0407f02865568e0a7f638 (patch)
treee294883e7a2d7de4ec264d9ea68392c3587ecea3 /src/H5E.c
parent82c6eab1814e1e06ef9472f6f4bbc8522064e0bc (diff)
downloadhdf5-1c61b6fe13f6fd9c84c0407f02865568e0a7f638.zip
hdf5-1c61b6fe13f6fd9c84c0407f02865568e0a7f638.tar.gz
hdf5-1c61b6fe13f6fd9c84c0407f02865568e0a7f638.tar.bz2
[svn-r19481] I'm backing out my fix for bug 1707 because there're some unresolved issues - r19441 and 19467.
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. I created a branch off the trunk called set_auto to continue working on the problem. Tested on jam - backing out, simple.
Diffstat (limited to 'src/H5E.c')
-rw-r--r--src/H5E.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/H5E.c b/src/H5E.c
index 704253f..01dd35b 100644
--- a/src/H5E.c
+++ b/src/H5E.c
@@ -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)
@@ -1583,12 +1578,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)
@@ -1638,8 +1629,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")