diff options
author | Alessandro Felder <alessandrofelder@users.noreply.github.com> | 2021-09-08 20:53:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-08 20:53:15 (GMT) |
commit | 8e06298ecfde5eb647b39cfe0dab70005f092199 (patch) | |
tree | 60812779599015ee44990d56a643767e9c93da73 /hl/src/H5LT.c | |
parent | 919f9daec6f397dfdf3fd41d2ecf002d197db293 (diff) | |
download | hdf5-8e06298ecfde5eb647b39cfe0dab70005f092199.zip hdf5-8e06298ecfde5eb647b39cfe0dab70005f092199.tar.gz hdf5-8e06298ecfde5eb647b39cfe0dab70005f092199.tar.bz2 |
Add high-level set/get for `unsigned long long` attributes. (#973)
* add ULL attr set/get signatures to LT public API
* add LT implementation of ULL set/get attribute
* fix copy-paste typo in test comment
* add ULL test data
* define ullong attr name global variable
* add LT tests for ULL attr set/get
* Committing clang-format changes
* correct type passed to lt get attr test for ULL
* update RELEASE.txt with added ULL set/get functionality
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'hl/src/H5LT.c')
-rw-r--r-- | hl/src/H5LT.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c index 1ef0f9d..a314f3f 100644 --- a/hl/src/H5LT.c +++ b/hl/src/H5LT.c @@ -1776,6 +1776,32 @@ H5LTset_attribute_ulong(hid_t loc_id, const char *obj_name, const char *attr_nam } /*------------------------------------------------------------------------- + * Function: H5LTset_attribute_ullong + * + * Purpose: Create and write an attribute. + * + * Return: Success: 0, Failure: -1 + * + * Programmer: Alessandro Felder + * + * Date: August 27, 2021 + * + * Comments: + * + *------------------------------------------------------------------------- + */ +herr_t +H5LTset_attribute_ullong(hid_t loc_id, const char *obj_name, const char *attr_name, + const unsigned long long *data, size_t size) +{ + + if (H5LT_set_attribute_numerical(loc_id, obj_name, attr_name, size, H5T_NATIVE_ULLONG, data) < 0) + return -1; + + return 0; +} + +/*------------------------------------------------------------------------- * Function: H5LTset_attribute_float * * Purpose: Create and write an attribute. @@ -3317,6 +3343,33 @@ H5LTget_attribute_ulong(hid_t loc_id, const char *obj_name, const char *attr_nam } /*------------------------------------------------------------------------- + * Function: H5LTget_attribute_ullong + * + * Purpose: Reads an attribute named attr_name + * + * Return: Success: 0, Failure: -1 + * + * Programmer: Alessandro Felder + * + * Date: August 27, 2021 + * + * Comments: + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +herr_t +H5LTget_attribute_ullong(hid_t loc_id, const char *obj_name, const char *attr_name, unsigned long long *data) +{ + /* Get the attribute */ + if (H5LT_get_attribute_mem(loc_id, obj_name, attr_name, H5T_NATIVE_ULLONG, data) < 0) + return -1; + + return 0; +} + +/*------------------------------------------------------------------------- * Function: H5LTget_attribute_float * * Purpose: Reads an attribute named attr_name |