diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5FD.c | 4 | ||||
-rw-r--r-- | src/H5FDmulti.c | 48 | ||||
-rw-r--r-- | src/H5I.c | 4 | ||||
-rw-r--r-- | src/H5Ofill.c | 12 | ||||
-rw-r--r-- | src/H5private.h | 14 |
5 files changed, 48 insertions, 34 deletions
@@ -207,7 +207,7 @@ H5FDregister(const H5FD_class_t *cls) HRETURN_ERROR(H5E_ARGS, H5E_UNINITIALIZED, FAIL, "`read' and/or `write' method is not defined"); } - for (type=H5FD_MEM_DEFAULT; type<H5FD_MEM_NTYPES; type = type+1) { + for (type=H5FD_MEM_DEFAULT; type<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,type)) { if (cls->fl_map[type]<H5FD_MEM_NOLIST || cls->fl_map[type]>=H5FD_MEM_NTYPES) { HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, @@ -904,7 +904,7 @@ H5FD_close(H5FD_t *file) /* Free all free-lists, leaking any memory thus described. Also leaks * file space allocated but not used when metadata aggregation is * turned on. */ - for (i=H5FD_MEM_DEFAULT; i<H5FD_MEM_NTYPES; i=i+1) { + for (i=H5FD_MEM_DEFAULT; i<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,i)) { for (cur=file->fl[i]; cur; cur=next) { #ifdef H5F_DEBUG nblocks++; diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index ea09b90..2e7045b 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -43,7 +43,7 @@ hbool_t _seen[H5FD_MEM_NTYPES]; \ \ memset(_seen, 0, sizeof _seen); \ - for (_unmapped=H5FD_MEM_SUPER; _unmapped<H5FD_MEM_NTYPES; _unmapped=_unmapped+1) { \ + for (_unmapped=H5FD_MEM_SUPER; _unmapped<H5FD_MEM_NTYPES; _unmapped=(H5FD_mem_t)(_unmapped+1)) { \ LOOPVAR = MAP[_unmapped]; \ if (H5FD_MEM_DEFAULT==LOOPVAR) LOOPVAR=_unmapped; \ assert(LOOPVAR>0 && LOOPVAR<H5FD_MEM_NTYPES); \ @@ -59,7 +59,7 @@ #define ALL_MEMBERS(LOOPVAR) { \ H5FD_mem_t LOOPVAR; \ - for (LOOPVAR=H5FD_MEM_DEFAULT; LOOPVAR<H5FD_MEM_NTYPES; LOOPVAR=LOOPVAR+1) { + for (LOOPVAR=H5FD_MEM_DEFAULT; LOOPVAR<H5FD_MEM_NTYPES; LOOPVAR=(H5FD_mem_t)(LOOPVAR+1)) { #define END_MEMBERS }} @@ -259,7 +259,7 @@ H5Pset_fapl_split(hid_t fapl, const char *meta_ext, hid_t meta_plist_id, H5Eclear(); /* Initialize */ - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { memb_map[mt] = (H5FD_MEM_DRAW==mt?mt:H5FD_MEM_SUPER); memb_fapl[mt] = -1; memb_name[mt] = NULL; @@ -408,33 +408,33 @@ H5Pset_fapl_multi(hid_t fapl_id, const H5FD_mem_t *memb_map, 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) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { _memb_map[mt] = H5FD_MEM_DEFAULT; } memb_map = _memb_map; } if (!memb_fapl) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { _memb_fapl[mt] = H5P_DEFAULT; } memb_fapl = _memb_fapl; } if (!memb_name) { assert(strlen(letters)==H5FD_MEM_NTYPES); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { sprintf(_memb_name[mt], "%%s-%c.h5", letters[mt]); _memb_name_ptrs[mt] = _memb_name[mt]; } memb_name = _memb_name_ptrs; } if (!memb_addr) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { _memb_addr[mt] = (mt?mt-1:0) * HADDR_MAX/H5FD_MEM_NTYPES; } memb_addr = _memb_addr; } - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { /* Map usage type */ mmt = memb_map[mt]; if (mmt<0 || mmt>=H5FD_MEM_NTYPES) @@ -513,7 +513,7 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/, memcpy(memb_map, fa->memb_map, H5FD_MEM_NTYPES*sizeof(H5FD_mem_t)); } if (memb_fapl) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (fa->memb_fapl[mt]>=0) { memb_fapl[mt] = H5Pcopy(fa->memb_fapl[mt]); } else { @@ -522,7 +522,7 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/, } } if (memb_name) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (fa->memb_name[mt]) { memb_name[mt] = malloc(strlen(fa->memb_name[mt])+1); strcpy(memb_name[mt], fa->memb_name[mt]); @@ -578,7 +578,7 @@ H5Pset_dxpl_multi(hid_t dxpl_id, const hid_t *memb_dxpl) H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a data transfer property list", -1); if (!memb_dxpl) H5Epush_ret(func, H5E_INTERNAL, H5E_BADVALUE, "invalid pointer", -1); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (H5P_DEFAULT!=memb_dxpl[mt] && TRUE!=H5Pisa_class(memb_dxpl[mt], H5P_DATASET_XFER)) H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a data transfer property list", -1); @@ -627,7 +627,7 @@ H5Pget_dxpl_multi(hid_t dxpl_id, hid_t *memb_dxpl/*out*/) H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "bad VFL driver info", -1); if (memb_dxpl) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (dx->memb_dxpl[mt]>=0) { memb_dxpl[mt] = H5Pcopy(dx->memb_dxpl[mt]); } else { @@ -729,7 +729,7 @@ H5FD_multi_sb_encode(H5FD_t *_file, char *name/*out*/, strcpy(name, "NCSAmulti"); assert(7==H5FD_MEM_NTYPES); - for (m=H5FD_MEM_SUPER; m<H5FD_MEM_NTYPES; m=m+1) { + for (m=H5FD_MEM_SUPER; m<H5FD_MEM_NTYPES; m=(H5FD_mem_t)(m+1)) { buf[m-1] = file->fa.memb_map[m]; } buf[7] = 0; @@ -989,7 +989,7 @@ H5FD_multi_fapl_copy(const void *_old_fa) H5Eclear(); memcpy(new_fa, old_fa, sizeof(H5FD_multi_fapl_t)); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (old_fa->memb_fapl[mt]>=0) { new_fa->memb_fapl[mt] = H5Pcopy(old_fa->memb_fapl[mt]); if (new_fa->memb_fapl[mt]<0) nerrors++; @@ -1002,7 +1002,7 @@ H5FD_multi_fapl_copy(const void *_old_fa) } if (nerrors) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (new_fa->memb_fapl[mt]>=0) H5Pclose(new_fa->memb_fapl[mt]); if (new_fa->memb_name[mt]) free(new_fa->memb_name[mt]); } @@ -1038,7 +1038,7 @@ H5FD_multi_fapl_free(void *_fa) /* Clear the error stack */ H5Eclear(); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (fa->memb_fapl[mt]>=0) H5Pclose(fa->memb_fapl[mt]); if (fa->memb_name[mt]) free(fa->memb_name[mt]); } @@ -1078,7 +1078,7 @@ H5FD_multi_dxpl_copy(const void *_old_dx) H5Eclear(); memcpy(new_dx, old_dx, sizeof(H5FD_multi_dxpl_t)); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (old_dx->memb_dxpl[mt]>=0) { new_dx->memb_dxpl[mt] = H5Pcopy(old_dx->memb_dxpl[mt]); if (new_dx->memb_dxpl[mt]<0) nerrors++; @@ -1086,7 +1086,7 @@ H5FD_multi_dxpl_copy(const void *_old_dx) } if (nerrors) { - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) H5Pclose(new_dx->memb_dxpl[mt]); free(new_dx); H5Epush_ret(func, H5E_INTERNAL, H5E_BADVALUE, "invalid freespace objects", NULL); @@ -1120,7 +1120,7 @@ H5FD_multi_dxpl_free(void *_dx) /* Clear the error stack */ H5Eclear(); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) if (dx->memb_dxpl[mt]>=0) H5Pclose(dx->memb_dxpl[mt]); free(dx); @@ -1323,7 +1323,7 @@ H5FD_multi_cmp(const H5FD_t *_f1, const H5FD_t *_f2) /* Clear the error stack */ H5Eclear(); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (f1->memb[mt] && f2->memb[mt]) break; if (!cmp) { if (f1->memb[mt]) cmp = -1; @@ -1431,7 +1431,7 @@ H5FD_multi_set_eoa(H5FD_t *_file, haddr_t eoa) H5Eclear(); /* Find the subfile in which the new EOA value falls */ - for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { mmt = file->fa.memb_map[mt]; if (H5FD_MEM_DEFAULT==mmt) mmt = mt; assert(mmt>0 && mmt<H5FD_MEM_NTYPES); @@ -1621,7 +1621,7 @@ H5FD_multi_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, siz } /* Find the file to which this address belongs */ - for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { mmt = file->fa.memb_map[mt]; if (H5FD_MEM_DEFAULT==mmt) mmt = mt; assert(mmt>0 && mmt<H5FD_MEM_NTYPES); @@ -1676,7 +1676,7 @@ H5FD_multi_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, si } /* Find the file to which this address belongs */ - for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { mmt = file->fa.memb_map[mt]; if (H5FD_MEM_DEFAULT==mmt) mmt = mt; assert(mmt>0 && mmt<H5FD_MEM_NTYPES); @@ -1755,7 +1755,7 @@ H5FD_multi_flush(H5FD_t *_file, unsigned closing) H5Eclear(); /* Flush each file */ - for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) { + for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (file->memb[mt]) { H5E_BEGIN_TRY { if (H5FDflush(file->memb[mt],closing)<0) nerrors++; @@ -121,14 +121,14 @@ H5I_term_interface(void) if (interface_initialize_g) { /* How many groups are still being used? */ - for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; grp=grp+1) { + for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; H5_INC_ENUM(H5I_type_t,grp)) { if ((grp_ptr=H5I_id_group_list_g[grp]) && grp_ptr->id_list) n++; } /* If no groups are used then clean up */ if (0==n) { - for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; grp=grp+1) { + for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; H5_INC_ENUM(H5I_type_t,grp)) { grp_ptr = H5I_id_group_list_g[grp]; H5MM_xfree(grp_ptr); H5I_id_group_list_g[grp] = NULL; diff --git a/src/H5Ofill.c b/src/H5Ofill.c index 4342f13..b50e2da 100644 --- a/src/H5Ofill.c +++ b/src/H5Ofill.c @@ -116,10 +116,10 @@ H5O_fill_new_decode(H5F_t UNUSED *f, const uint8_t *p, } /* Space allocation time */ - mesg->space_time = *p++; + mesg->space_time = (H5D_space_time_t)*p++; /* Fill value write time */ - mesg->fill_time = *p++; + mesg->fill_time = (H5D_fill_time_t)*p++; /* Whether fill value is defined */ mesg->fill_defined = *p++; @@ -510,9 +510,9 @@ H5O_fill_new_reset(void *_mesg) H5T_close(mesg->type); mesg->type = NULL; } - mesg->space_time = 0; - mesg->fill_time = 0; - mesg->fill_defined = 0; + mesg->space_time = (H5D_space_time_t)0; + mesg->fill_time = (H5D_fill_time_t)0; + mesg->fill_defined = (H5D_fill_value_t)0; FUNC_LEAVE(SUCCEED); } @@ -712,7 +712,7 @@ H5O_fill_convert(void *_fill, H5T_t *dset_type) } H5T_close(fill->type); fill->type = NULL; - fill->size = H5T_get_size(dset_type); + H5_ASSIGN_OVERFLOW(fill->size,H5T_get_size(dset_type),size_t,ssize_t); ret_value = SUCCEED; done: diff --git a/src/H5private.h b/src/H5private.h index 425fd32..15721db 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -411,6 +411,20 @@ #endif /* + * A macro to portably increment enumerated types. + */ +#ifndef H5_INC_ENUM +# define H5_INC_ENUM(TYPE,VAR) (VAR)=((TYPE)((VAR)+1)) +#endif + +/* + * A macro to portably decrement enumerated types. + */ +#ifndef H5_DEC_ENUM +# define H5_DEC_ENUM(TYPE,VAR) (VAR)=((TYPE)((VAR)-1)) +#endif + +/* * A macro for detecting over/under-flow when casting between types */ #ifndef NDEBUG |