diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-08 19:59:36 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-08 19:59:36 (GMT) |
commit | 16683943c6edb42f9129cc5d6c8f340c74014dad (patch) | |
tree | d1ed13b0b7677e56d4253b4fe5e0640f851e27ca /src | |
parent | d3ee3988b68292524b3a893b9db55c074f4b9e87 (diff) | |
download | hdf5-16683943c6edb42f9129cc5d6c8f340c74014dad.zip hdf5-16683943c6edb42f9129cc5d6c8f340c74014dad.tar.gz hdf5-16683943c6edb42f9129cc5d6c8f340c74014dad.tar.bz2 |
[svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2
Add simple regression test for H5Dopen1
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.c | 13 | ||||
-rw-r--r-- | src/H5Dpublic.h | 2 | ||||
-rw-r--r-- | src/H5O.c | 4 | ||||
-rw-r--r-- | src/H5public.h | 6 | ||||
-rw-r--r-- | src/H5vers.txt | 1 | ||||
-rw-r--r-- | src/H5version.h | 15 |
6 files changed, 29 insertions, 12 deletions
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c index 3d58557..465ac41 100644 --- a/src/H5Ddeprec.c +++ b/src/H5Ddeprec.c @@ -180,16 +180,18 @@ done: FUNC_LEAVE_API(ret_value) } /* end H5Dcreate() */ +#ifndef H5_NO_DEPRECATED_SYMBOLS /*------------------------------------------------------------------------- - * Function: H5Dopen + * Function: H5Dopen1 * * Purpose: Finds a dataset named NAME at LOC_ID, opens it, and returns * its ID. The dataset should be close when the caller is no * longer interested in it. * - * Return: Success: A new dataset ID + * Note: Deprecated in favor of H5Dopen2 * + * Return: Success: A new dataset ID * Failure: FAIL * * Programmer: Robb Matzke @@ -198,7 +200,7 @@ done: *------------------------------------------------------------------------- */ hid_t -H5Dopen(hid_t loc_id, const char *name) +H5Dopen1(hid_t loc_id, const char *name) { H5D_t *dset = NULL; H5G_loc_t loc; /* Object location of group */ @@ -210,7 +212,7 @@ H5Dopen(hid_t loc_id, const char *name) hid_t dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datset */ hid_t ret_value; - FUNC_ENTER_API(H5Dopen, FAIL) + FUNC_ENTER_API(H5Dopen1, FAIL) H5TRACE2("i", "i*s", loc_id, name); /* Check args */ @@ -256,9 +258,8 @@ done: } /* end if */ FUNC_LEAVE_API(ret_value) -} /* end H5Dopen() */ +} /* end H5Dopen1() */ -#ifndef H5_NO_DEPRECATED_SYMBOLS /*------------------------------------------------------------------------- * Function: H5Dextend diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index bbd74a6..be858ac 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -123,7 +123,6 @@ H5_DLL herr_t H5Ddebug(hid_t dset_id); */ H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id, hid_t space_id, hid_t plist_id); -H5_DLL hid_t H5Dopen(hid_t file_id, const char *name); /* Symbols defined for compatibility with previous versions of the HDF5 API. * @@ -138,6 +137,7 @@ H5_DLL hid_t H5Dopen(hid_t file_id, const char *name); /* Function prototypes */ +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); #endif /* H5_NO_DEPRECATED_SYMBOLS */ @@ -176,8 +176,8 @@ H5O_init_interface(void) * * Purpose: Opens an object within an HDF5 file. * - * This function opens an object in the same way that H5Gopen, - * H5Topen, and H5Dopen do. However, H5Oopen doesn't require + * This function opens an object in the same way that H5Gopen2, + * H5Topen2, and H5Dopen2 do. However, H5Oopen doesn't require * the type of object to be known beforehand. This can be * useful in user-defined links, for instance, when only a * path is known. diff --git a/src/H5public.h b/src/H5public.h index 00ca6ab..b07cb22 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -86,9 +86,8 @@ extern "C" { * The negative failure value is most commonly -1, but don't bet on it. The * proper way to detect failure is something like: * - * if ((dset = H5Dopen (file, name))<0) { - * fprintf (stderr, "unable to open the requested dataset\n"); - * } + * if((dset = H5Dopen2(file, name)) < 0) + * fprintf(stderr, "unable to open the requested dataset\n"); */ typedef int herr_t; @@ -319,3 +318,4 @@ H5_DLL herr_t H5check_version(unsigned majnum, unsigned minnum, } #endif #endif + diff --git a/src/H5vers.txt b/src/H5vers.txt index 8d4b6f9..39f27e4 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: H5Dopen; ; v10, v18 FUNCTION: H5Eclear; ; v10, v18 FUNCTION: H5Eget_auto; ; v10, v18 FUNCTION: H5Eprint; ; v10, v18 diff --git a/src/H5version.h b/src/H5version.h index 25efa53..5573e5b 100644 --- a/src/H5version.h +++ b/src/H5version.h @@ -54,6 +54,10 @@ #define H5Arename_vers 1 #endif /* !defined(H5Arename_vers) */ +#if !defined(H5Dopen_vers) +#define H5Dopen_vers 1 +#endif /* !defined(H5Dopen_vers) */ + #if !defined(H5Eclear_vers) #define H5Eclear_vers 1 #endif /* !defined(H5Eclear_vers) */ @@ -165,6 +169,17 @@ #error "H5Arename_vers set to invalid value" #endif /* H5Arename_vers */ +#if !defined(H5Dopen_vers) || H5Dopen_vers == 2 +#ifndef H5Dopen_vers +#define H5Dopen_vers 2 +#endif /* H5Dopen_vers */ +#define H5Dopen H5Dopen2 +#elif H5Dopen_vers == 1 +#define H5Dopen H5Dopen1 +#else /* H5Dopen_vers */ +#error "H5Dopen_vers set to invalid value" +#endif /* H5Dopen_vers */ + #if !defined(H5Eclear_vers) || H5Eclear_vers == 2 #ifndef H5Eclear_vers #define H5Eclear_vers 2 |