summaryrefslogtreecommitdiffstats
path: root/src/H5Edeprec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Edeprec.c')
-rw-r--r--src/H5Edeprec.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/H5Edeprec.c b/src/H5Edeprec.c
index 30f3ae9..9f6d869 100644
--- a/src/H5Edeprec.c
+++ b/src/H5Edeprec.c
@@ -389,8 +389,12 @@ H5Eget_auto1(H5E_auto1_t *func, void **client_data)
/* Get the automatic error reporting information */
if(H5E_get_auto(estack, &auto_op, client_data) < 0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get automatic error info")
+
+ if(auto_op.user_set && auto_op.vers == 2)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "wrong API function, H5Eset_auto2 has been called")
+
if(func)
- *func = auto_op.u.func1;
+ *func = auto_op.func1;
done:
FUNC_LEAVE_API(ret_value)
@@ -436,7 +440,8 @@ H5Eset_auto1(H5E_auto1_t func, void *client_data)
/* Set the automatic error reporting information */
auto_op.vers = 1;
- auto_op.u.func1 = func;
+ auto_op.user_set = TRUE;
+ auto_op.func1 = func;
if(H5E_set_auto(estack, &auto_op, client_data) < 0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't set automatic error info")