summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-10-11 16:24:11 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-10-11 16:24:11 (GMT)
commitd9e5ca72f39934531b534524d07cf784c3d0e613 (patch)
tree1913b13a317132523091035f1175b2291c8b9db7 /src
parent053807fa81579e6bd9ac6a701ddcaac39e4d0b87 (diff)
downloadhdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.zip
hdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.tar.gz
hdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.tar.bz2
[svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with H5Dcreate2 Fix thread-safe error stack initialization for API versioned error stack printing routines. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
Diffstat (limited to 'src')
-rw-r--r--src/H5Ddeprec.c10
-rw-r--r--src/H5Dpublic.h10
-rw-r--r--src/H5E.c5
-rw-r--r--src/H5vers.txt1
-rw-r--r--src/H5version.h15
5 files changed, 28 insertions, 13 deletions
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c
index 465ac41..d23df69 100644
--- a/src/H5Ddeprec.c
+++ b/src/H5Ddeprec.c
@@ -106,9 +106,10 @@ H5D_init_deprec_interface(void)
FUNC_LEAVE_NOAPI(H5D_init())
} /* H5D_init_deprec_interface() */
+#ifndef H5_NO_DEPRECATED_SYMBOLS
/*-------------------------------------------------------------------------
- * Function: H5Dcreate
+ * Function: H5Dcreate1
*
* Purpose: Creates a new dataset named NAME at LOC_ID, opens the
* dataset for access, and associates with that dataset constant
@@ -137,7 +138,7 @@ H5D_init_deprec_interface(void)
*-------------------------------------------------------------------------
*/
hid_t
-H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
+H5Dcreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
hid_t dcpl_id)
{
H5G_loc_t loc; /* Object location to insert dataset into */
@@ -145,7 +146,7 @@ H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
const H5S_t *space; /* Dataspace for dataset */
hid_t ret_value; /* Return value */
- FUNC_ENTER_API(H5Dcreate, FAIL)
+ FUNC_ENTER_API(H5Dcreate1, FAIL)
H5TRACE5("i", "i*siii", loc_id, name, type_id, space_id, dcpl_id);
/* Check arguments */
@@ -178,9 +179,8 @@ done:
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
-} /* end H5Dcreate() */
+} /* end H5Dcreate1() */
-#ifndef H5_NO_DEPRECATED_SYMBOLS
/*-------------------------------------------------------------------------
* Function: H5Dopen1
diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h
index be858ac..d7f6574 100644
--- a/src/H5Dpublic.h
+++ b/src/H5Dpublic.h
@@ -116,14 +116,6 @@ H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf,
H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t *size);
H5_DLL herr_t H5Ddebug(hid_t dset_id);
-/* Functions and variables defined for compatibility with previous versions
- * of the HDF5 API.
- *
- * Use of these functions and variables is deprecated.
- */
-H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id,
- hid_t space_id, hid_t plist_id);
-
/* Symbols defined for compatibility with previous versions of the HDF5 API.
*
* Use of these symbols is deprecated.
@@ -137,6 +129,8 @@ H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id,
/* Function prototypes */
+H5_DLL hid_t H5Dcreate1(hid_t file_id, const char *name, hid_t type_id,
+ hid_t space_id, hid_t dcpl_id);
H5_DLL hid_t H5Dopen1(hid_t file_id, const char *name);
H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t *size);
diff --git a/src/H5E.c b/src/H5E.c
index b97f72f..6e553c6 100644
--- a/src/H5E.c
+++ b/src/H5E.c
@@ -321,8 +321,13 @@ H5E_get_stack(void)
/* Set the thread-specific info */
estack->nused = 0;
+#ifdef H5_USE_16_API
+ estack->auto_op.vers = 1;
+ estack->auto_op.u.func1 = (H5E_auto1_t)H5Eprint1;
+#else /* H5_USE_16_API */
estack->auto_op.vers = 2;
estack->auto_op.u.func2 = (H5E_auto2_t)H5Eprint2;
+#endif /* H5_USE_16_API */
estack->auto_data = NULL;
/* (It's not necessary to release this in this API, it is
diff --git a/src/H5vers.txt b/src/H5vers.txt
index 39f27e4..5745521 100644
--- a/src/H5vers.txt
+++ b/src/H5vers.txt
@@ -49,6 +49,7 @@ FUNCTION: H5Acreate; ; v10, v18
FUNCTION: H5Adelete; ; v10, v18
FUNCTION: H5Aiterate; H5A_operator; v10, v18
FUNCTION: H5Arename; ; v16, v18
+FUNCTION: H5Dcreate; ; v10, v18
FUNCTION: H5Dopen; ; v10, v18
FUNCTION: H5Eclear; ; v10, v18
FUNCTION: H5Eget_auto; ; v10, v18
diff --git a/src/H5version.h b/src/H5version.h
index 5573e5b..311bb3b 100644
--- a/src/H5version.h
+++ b/src/H5version.h
@@ -54,6 +54,10 @@
#define H5Arename_vers 1
#endif /* !defined(H5Arename_vers) */
+#if !defined(H5Dcreate_vers)
+#define H5Dcreate_vers 1
+#endif /* !defined(H5Dcreate_vers) */
+
#if !defined(H5Dopen_vers)
#define H5Dopen_vers 1
#endif /* !defined(H5Dopen_vers) */
@@ -169,6 +173,17 @@
#error "H5Arename_vers set to invalid value"
#endif /* H5Arename_vers */
+#if !defined(H5Dcreate_vers) || H5Dcreate_vers == 2
+#ifndef H5Dcreate_vers
+#define H5Dcreate_vers 2
+#endif /* H5Dcreate_vers */
+#define H5Dcreate H5Dcreate2
+#elif H5Dcreate_vers == 1
+#define H5Dcreate H5Dcreate1
+#else /* H5Dcreate_vers */
+#error "H5Dcreate_vers set to invalid value"
+#endif /* H5Dcreate_vers */
+
#if !defined(H5Dopen_vers) || H5Dopen_vers == 2
#ifndef H5Dopen_vers
#define H5Dopen_vers 2