diff options
Diffstat (limited to 'src/H5FDmulti.c')
-rw-r--r-- | src/H5FDmulti.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index fb8aa59..725c358 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -14,6 +14,7 @@ #include <stdlib.h> #include "hdf5.h" +#include "H5private.h" /* library function */ /* * Define H5FD_MULTI_DEBUG if you want the ability to print debugging @@ -375,6 +376,9 @@ H5Pset_fapl_split(hid_t fapl, const char *meta_ext, hid_t meta_plist_id, * * Modifications: * + * Raymond Lu, 2001-10-25 + * Use new generic property list for argument checking. + * *------------------------------------------------------------------------- */ herr_t @@ -398,8 +402,9 @@ H5Pset_fapl_multi(hid_t fapl_id, const H5FD_mem_t *memb_map, H5Eclear(); /* Check arguments and supply default values */ - if (H5P_FILE_ACCESS!=H5Pget_class(fapl_id)) - H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "not a file access property list", -1); + if(H5I_GENPROP_LST != H5I_get_type(fapl_id) || + TRUE != H5Pisa_class(fapl_id, H5P_FILE_ACCESS)) + H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "not an access list", -1); if (!memb_map) { for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { _memb_map[mt] = H5FD_MEM_DEFAULT; @@ -475,6 +480,9 @@ H5Pset_fapl_multi(hid_t fapl_id, const H5FD_mem_t *memb_map, * * Modifications: * + * Raymond Lu, 2001-10-25 + * Use new generic property list for argument checking. + * *------------------------------------------------------------------------- */ herr_t @@ -491,8 +499,9 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/, /* Clear the error stack */ H5Eclear(); - if (H5P_FILE_ACCESS!=H5Pget_class(fapl_id)) - H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a file access property list", -1); + if(H5I_GENPROP_LST != H5I_get_type(fapl_id) || + TRUE != H5Pisa_class(fapl_id, H5P_FILE_ACCESS)) + H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not an access list", -1); if (H5FD_MULTI!=H5Pget_driver(fapl_id)) H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "incorrect VFL driver", -1); if (NULL==(fa=H5Pget_driver_info(fapl_id))) |