diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-09-09 02:37:02 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-09-09 02:37:02 (GMT) |
commit | eb3e9ccd8ac3e1a69d0f9bc2c9e9f1c2b5108f21 (patch) | |
tree | 5a15644f3f46cb73b22605f3d03b36918bbbd065 /src/H5Eprivate.h | |
parent | 4389b976a5af4d4ca755f4ddab2e2e9ed861ea1e (diff) | |
download | hdf5-eb3e9ccd8ac3e1a69d0f9bc2c9e9f1c2b5108f21.zip hdf5-eb3e9ccd8ac3e1a69d0f9bc2c9e9f1c2b5108f21.tar.gz hdf5-eb3e9ccd8ac3e1a69d0f9bc2c9e9f1c2b5108f21.tar.bz2 |
[svn-r9234] Purpose:
Code cleanup
Description:
Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch. This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter). This should make the H5E API changes as forwardly
compatible as possible.
One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.
Platforms tested:
FreeBSD 4.10 (sleipnir)
IRIX64 6.5 (modi4)
h5committest
Diffstat (limited to 'src/H5Eprivate.h')
-rw-r--r-- | src/H5Eprivate.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h index 4dbb670..9c5744f 100644 --- a/src/H5Eprivate.h +++ b/src/H5Eprivate.h @@ -44,7 +44,11 @@ typedef struct H5E_msg_t { typedef struct H5E_t { size_t nused; /* Num slots currently used in stack */ H5E_error_t slot[H5E_NSLOTS]; /* Array of error records */ - H5E_auto_t func; /* Function for 'automatic' error reporting */ + hbool_t new_api; /* Indicate that the function pointer is for the new (stack) API or the old */ + union { + H5E_auto_t func; /* Function for 'automatic' error reporting */ + H5E_auto_stack_t func_stack; /* Function for 'automatic' error reporting */ + } u; void *auto_data; /* Callback data for 'automatic error reporting */ } H5E_t; |