diff options
Diffstat (limited to 'src/H5FAtest.c')
-rw-r--r-- | src/H5FAtest.c | 209 |
1 files changed, 100 insertions, 109 deletions
diff --git a/src/H5FAtest.c b/src/H5FAtest.c index e55d408..87d1db0 100644 --- a/src/H5FAtest.c +++ b/src/H5FAtest.c @@ -6,7 +6,7 @@ * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * - * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. * + * distribution tree, or in https://www.hdfgroup.org/licenses. * * If you do not have access to either file, you may request a copy from * * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -20,32 +20,28 @@ /* Module Declaration */ /**********************/ -#include "H5FAmodule.h" /* This source code file is part of the H5FA module */ +#include "H5FAmodule.h" /* This source code file is part of the H5FA module */ #define H5FA_TESTING - /***********************/ /* Other Packages Used */ /***********************/ - /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5FApkg.h" /* Fixed Arrays */ -#include "H5FLprivate.h" /* Free Lists */ -#include "H5VMprivate.h" /* Vector functions */ - +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5FApkg.h" /* Fixed Arrays */ +#include "H5FLprivate.h" /* Free Lists */ +#include "H5VMprivate.h" /* Vector functions */ /****************/ /* Local Macros */ /****************/ /* Sanity checking value for callback contexts */ -#define H5FA__TEST_BOGUS_VAL 42 - +#define H5FA__TEST_BOGUS_VAL 42 /******************/ /* Local Typedefs */ @@ -53,35 +49,32 @@ /* Callback context */ typedef struct H5FA__test_ctx_t { - uint32_t bogus; /* Placeholder field to verify that context is working */ + uint32_t bogus; /* Placeholder field to verify that context is working */ } H5FA__test_ctx_t; - /********************/ /* Package Typedefs */ /********************/ - /********************/ /* Local Prototypes */ /********************/ /* Fixed array class callbacks */ -static void *H5FA__test_crt_context(void *udata); +static void * H5FA__test_crt_context(void *udata); static herr_t H5FA__test_dst_context(void *ctx); static herr_t H5FA__test_fill(void *nat_blk, size_t nelmts); static herr_t H5FA__test_encode(void *raw, const void *elmt, size_t nelmts, void *ctx); static herr_t H5FA__test_decode(const void *raw, void *elmt, size_t nelmts, void *ctx); static herr_t H5FA__test_debug(FILE *stream, int indent, int fwidth, hsize_t idx, const void *elmt); -static void *H5FA__test_crt_dbg_context(H5F_t *f, haddr_t obj_addr); - +static void * H5FA__test_crt_dbg_context(H5F_t *f, haddr_t obj_addr); /*********************/ /* Package Variables */ /*********************/ /* Fixed array testing class information */ -const H5FA_class_t H5FA_CLS_TEST[1]={{ +const H5FA_class_t H5FA_CLS_TEST[1] = {{ H5FA_CLS_TEST_ID, /* Type of Fixed array */ "Testing", /* Name of fixed array class */ sizeof(uint64_t), /* Size of native element */ @@ -95,12 +88,10 @@ const H5FA_class_t H5FA_CLS_TEST[1]={{ H5FA__test_dst_context /* Destroy debugging context */ }}; - /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ @@ -108,8 +99,6 @@ const H5FA_class_t H5FA_CLS_TEST[1]={{ /* Declare a free list to manage the H5FA__test_ctx_t struct */ H5FL_DEFINE_STATIC(H5FA__test_ctx_t); - - /*------------------------------------------------------------------------- * Function: H5FA__test_crt_context * @@ -123,16 +112,17 @@ H5FL_DEFINE_STATIC(H5FA__test_ctx_t); * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, ERR, -void *, NULL, NULL, -H5FA__test_crt_context(void H5_ATTR_UNUSED *udata)) +static void * +H5FA__test_crt_context(void H5_ATTR_UNUSED *udata) +{ + H5FA__test_ctx_t *ctx; /* Context for callbacks */ + void * ret_value = NULL; - /* Local variables */ - H5FA__test_ctx_t *ctx; /* Context for callbacks */ + FUNC_ENTER_PACKAGE /* Allocate new context structure */ - if(NULL == (ctx = H5FL_MALLOC(H5FA__test_ctx_t))) - H5E_THROW(H5E_CANTALLOC, "can't allocate fixed array client callback context") + if (NULL == (ctx = H5FL_MALLOC(H5FA__test_ctx_t))) + HGOTO_ERROR(H5E_FARRAY, H5E_CANTALLOC, NULL, "can't allocate fixed array client callback context") /* Initialize the context */ ctx->bogus = H5FA__TEST_BOGUS_VAL; @@ -140,11 +130,10 @@ H5FA__test_crt_context(void H5_ATTR_UNUSED *udata)) /* Set return value */ ret_value = ctx; -CATCH +done: + FUNC_LEAVE_NOAPI(ret_value) +} /* end H5FA__test_crt_context() */ -END_FUNC(STATIC) /* end H5FA__test_crt_context() */ - - /*------------------------------------------------------------------------- * Function: H5FA__test_dst_context * @@ -157,12 +146,12 @@ END_FUNC(STATIC) /* end H5FA__test_crt_context() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, NOERR, -herr_t, SUCCEED, -, -H5FA__test_dst_context(void *_ctx)) +static herr_t +H5FA__test_dst_context(void *_ctx) +{ + H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ - /* Local variables */ - H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(H5FA__TEST_BOGUS_VAL == ctx->bogus); @@ -170,9 +159,9 @@ H5FA__test_dst_context(void *_ctx)) /* Release context structure */ ctx = H5FL_FREE(H5FA__test_ctx_t, ctx); -END_FUNC(STATIC) /* end H5FA__test_dst_context() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5FA__test_dst_context() */ - /*------------------------------------------------------------------------- * Function: H5FA__test_fill * @@ -185,12 +174,12 @@ END_FUNC(STATIC) /* end H5FA__test_dst_context() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, NOERR, -herr_t, SUCCEED, -, -H5FA__test_fill(void *nat_blk, size_t nelmts)) +static herr_t +H5FA__test_fill(void *nat_blk, size_t nelmts) +{ + uint64_t fill_val = H5FA_TEST_FILL; /* Value to fill elements with */ - /* Local variables */ - uint64_t fill_val = H5FA_TEST_FILL; /* Value to fill elements with */ + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(nat_blk); @@ -198,9 +187,9 @@ H5FA__test_fill(void *nat_blk, size_t nelmts)) H5VM_array_fill(nat_blk, &fill_val, sizeof(uint64_t), nelmts); -END_FUNC(STATIC) /* end H5FA__test_fill() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5FA__test_fill() */ - /*------------------------------------------------------------------------- * Function: H5FA__test_encode * @@ -213,15 +202,15 @@ END_FUNC(STATIC) /* end H5FA__test_fill() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, NOERR, -herr_t, SUCCEED, -, -H5FA__test_encode(void *raw, const void *_elmt, size_t nelmts, void H5_ATTR_UNUSED *_ctx)) - - /* Local variables */ +static herr_t +H5FA__test_encode(void *raw, const void *_elmt, size_t nelmts, void H5_ATTR_UNUSED *_ctx) +{ #ifndef NDEBUG - H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ -#endif /* NDEBUG */ - const uint64_t *elmt = (const uint64_t *)_elmt; /* Convenience pointer to native elements */ + H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ +#endif + const uint64_t *elmt = (const uint64_t *)_elmt; /* Convenience pointer to native elements */ + + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(raw); @@ -230,7 +219,7 @@ H5FA__test_encode(void *raw, const void *_elmt, size_t nelmts, void H5_ATTR_UNUS HDassert(H5FA__TEST_BOGUS_VAL == ctx->bogus); /* Encode native elements into raw elements */ - while(nelmts) { + while (nelmts) { /* Encode element */ /* (advances 'raw' pointer) */ UINT64ENCODE(raw, *elmt); @@ -242,9 +231,9 @@ H5FA__test_encode(void *raw, const void *_elmt, size_t nelmts, void H5_ATTR_UNUS nelmts--; } /* end while */ -END_FUNC(STATIC) /* end H5FA__test_encode() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5FA__test_encode() */ - /*------------------------------------------------------------------------- * Function: H5FA__test_decode * @@ -257,16 +246,16 @@ END_FUNC(STATIC) /* end H5FA__test_encode() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, NOERR, -herr_t, SUCCEED, -, -H5FA__test_decode(const void *_raw, void *_elmt, size_t nelmts, void H5_ATTR_UNUSED *_ctx)) - - /* Local variables */ +static herr_t +H5FA__test_decode(const void *_raw, void *_elmt, size_t nelmts, void H5_ATTR_UNUSED *_ctx) +{ #ifndef NDEBUG - H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ -#endif /* NDEBUG */ - uint64_t *elmt = (uint64_t *)_elmt; /* Convenience pointer to native elements */ - const uint8_t *raw = (const uint8_t *)_raw; /* Convenience pointer to raw elements */ + H5FA__test_ctx_t *ctx = (H5FA__test_ctx_t *)_ctx; /* Callback context to destroy */ +#endif + uint64_t * elmt = (uint64_t *)_elmt; /* Convenience pointer to native elements */ + const uint8_t *raw = (const uint8_t *)_raw; /* Convenience pointer to raw elements */ + + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(raw); @@ -275,7 +264,7 @@ H5FA__test_decode(const void *_raw, void *_elmt, size_t nelmts, void H5_ATTR_UNU HDassert(H5FA__TEST_BOGUS_VAL == ctx->bogus); /* Decode raw elements into native elements */ - while(nelmts) { + while (nelmts) { /* Decode element */ /* (advances 'raw' pointer) */ UINT64DECODE(raw, *elmt); @@ -287,9 +276,9 @@ H5FA__test_decode(const void *_raw, void *_elmt, size_t nelmts, void H5_ATTR_UNU nelmts--; } /* end while */ -END_FUNC(STATIC) /* end H5FA__test_decode() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5FA__test_decode() */ - /*------------------------------------------------------------------------- * Function: H5FA__test_debug * @@ -302,26 +291,25 @@ END_FUNC(STATIC) /* end H5FA__test_decode() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, NOERR, -herr_t, SUCCEED, -, -H5FA__test_debug(FILE *stream, int indent, int fwidth, hsize_t idx, - const void *elmt)) +static herr_t +H5FA__test_debug(FILE *stream, int indent, int fwidth, hsize_t idx, const void *elmt) +{ + char temp_str[128]; /* Temporary string, for formatting */ - /* Local variables */ - char temp_str[128]; /* Temporary string, for formatting */ + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(stream); HDassert(elmt); /* Print element */ - HDsprintf(temp_str, "Element #%llu:", (unsigned long long)idx); + HDsnprintf(temp_str, sizeof(temp_str), "Element #%llu:", (unsigned long long)idx); HDfprintf(stream, "%*s%-*s %llu\n", indent, "", fwidth, temp_str, - (unsigned long long)*(const uint64_t *)elmt); + (unsigned long long)*(const uint64_t *)elmt); -END_FUNC(STATIC) /* end H5FA__test_debug() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5FA__test_debug() */ - /*------------------------------------------------------------------------- * Function: H5FA__test_crt_dbg_context * @@ -335,16 +323,17 @@ END_FUNC(STATIC) /* end H5FA__test_debug() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(STATIC, ERR, -void *, NULL, NULL, -H5FA__test_crt_dbg_context(H5F_t H5_ATTR_UNUSED *f, haddr_t H5_ATTR_UNUSED obj_addr)) +static void * +H5FA__test_crt_dbg_context(H5F_t H5_ATTR_UNUSED *f, haddr_t H5_ATTR_UNUSED obj_addr) +{ + H5FA__test_ctx_t *ctx; /* Context for callbacks */ + void * ret_value = NULL; - /* Local variables */ - H5FA__test_ctx_t *ctx; /* Context for callbacks */ + FUNC_ENTER_PACKAGE /* Allocate new context structure */ - if(NULL == (ctx = H5FL_MALLOC(H5FA__test_ctx_t))) - H5E_THROW(H5E_CANTALLOC, "can't allocate fixed array client callback context") + if (NULL == (ctx = H5FL_MALLOC(H5FA__test_ctx_t))) + HGOTO_ERROR(H5E_FARRAY, H5E_CANTALLOC, NULL, "can't allocate fixed array client callback context") /* Initialize the context */ ctx->bogus = H5FA__TEST_BOGUS_VAL; @@ -352,11 +341,10 @@ H5FA__test_crt_dbg_context(H5F_t H5_ATTR_UNUSED *f, haddr_t H5_ATTR_UNUSED obj_a /* Set return value */ ret_value = ctx; -CATCH +done: + FUNC_LEAVE_NOAPI(ret_value); +} /* end H5FA__test_crt_dbg_context() */ -END_FUNC(STATIC) /* end H5FA__test_crt_dbg_context() */ - - /*------------------------------------------------------------------------- * Function: H5FA__get_cparam_test * @@ -369,9 +357,10 @@ END_FUNC(STATIC) /* end H5FA__test_crt_dbg_context() */ * *------------------------------------------------------------------------- */ -BEGIN_FUNC(PKG, NOERR, -herr_t, SUCCEED, -, -H5FA__get_cparam_test(const H5FA_t *fa, H5FA_create_t *cparam)) +herr_t +H5FA__get_cparam_test(const H5FA_t *fa, H5FA_create_t *cparam) +{ + FUNC_ENTER_PACKAGE_NOERR /* Check arguments. */ HDassert(fa); @@ -379,38 +368,40 @@ H5FA__get_cparam_test(const H5FA_t *fa, H5FA_create_t *cparam)) /* Get fixed array creation parameters */ cparam->raw_elmt_size = fa->hdr->cparam.raw_elmt_size; - cparam->nelmts = fa->hdr->cparam.nelmts; + cparam->nelmts = fa->hdr->cparam.nelmts; -END_FUNC(PKG) /* end H5FA__get_cparam_test() */ + FUNC_LEAVE_NOAPI(SUCCEED); +} /* end H5FA__get_cparam_test() */ - /*------------------------------------------------------------------------- * Function: H5FA__cmp_cparam_test * * Purpose: Compare the parameters used to create the fixed array * - * Return: SUCCEED/FAIL + * Return: An integer value like strcmp * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ -BEGIN_FUNC(PKG, ERRCATCH, -int, 0, -, -H5FA__cmp_cparam_test(const H5FA_create_t *cparam1, const H5FA_create_t *cparam2)) +int +H5FA__cmp_cparam_test(const H5FA_create_t *cparam1, const H5FA_create_t *cparam2) +{ + int ret_value = 0; + + FUNC_ENTER_PACKAGE_NOERR /* Check arguments. */ HDassert(cparam1); HDassert(cparam2); /* Compare creation parameters for array */ - if(cparam1->raw_elmt_size < cparam2->raw_elmt_size) - H5_LEAVE(-1) - else if(cparam1->raw_elmt_size > cparam2->raw_elmt_size) - H5_LEAVE(1) - -CATCH + if (cparam1->raw_elmt_size < cparam2->raw_elmt_size) + ret_value = -1; + else if (cparam1->raw_elmt_size > cparam2->raw_elmt_size) + ret_value = 1; -END_FUNC(PKG) /* end H5FA__cmp_cparam_test() */ + FUNC_LEAVE_NOAPI(ret_value) +} /* end H5FA__cmp_cparam_test() */ |