Partial revert of last commit

Keep index using the outer scope for GHASH iter macros,
while its often nice, in some cases to declare in the for loop,
it means you cant use as a counter after the loop exits, and in some cases signed/unsigned may matter.

API changes should really be split off in their own commits too.
This commit is contained in:
Campbell Barton 2015-11-26 12:35:27 +11:00
parent 77ac33db7b
commit d7708d135e
4 changed files with 21 additions and 20 deletions

@ -1244,6 +1244,7 @@ void BKE_pbvh_get_grid_updates(PBVH *bvh, bool clear, void ***r_gridfaces, int *
void **faces = MEM_mallocN(sizeof(*faces) * tot, "PBVH Grid Faces"); void **faces = MEM_mallocN(sizeof(*faces) * tot, "PBVH Grid Faces");
GSetIterator gs_iter; GSetIterator gs_iter;
int i;
GSET_ITER_INDEX (gs_iter, face_set, i) { GSET_ITER_INDEX (gs_iter, face_set, i) {
faces[i] = BLI_gsetIterator_getKey(&gs_iter); faces[i] = BLI_gsetIterator_getKey(&gs_iter);
} }

@ -264,6 +264,7 @@ static bool pbvh_bmesh_node_limit_ensure(PBVH *bvh, int node_index)
BBC *bbc_array = MEM_mallocN(sizeof(BBC) * bm_faces_size, "BBC"); BBC *bbc_array = MEM_mallocN(sizeof(BBC) * bm_faces_size, "BBC");
GSetIterator gs_iter; GSetIterator gs_iter;
int i;
GSET_ITER_INDEX (gs_iter, bm_faces, i) { GSET_ITER_INDEX (gs_iter, bm_faces, i) {
BMFace *f = BLI_gsetIterator_getKey(&gs_iter); BMFace *f = BLI_gsetIterator_getKey(&gs_iter);
BBC *bbc = &bbc_array[i]; BBC *bbc = &bbc_array[i];

@ -95,7 +95,7 @@ void BLI_ghash_flag_clear(GHash *gh, unsigned int flag);
GHashIterator *BLI_ghashIterator_new(GHash *gh) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT; GHashIterator *BLI_ghashIterator_new(GHash *gh) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT;
unsigned BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh); void BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh);
void BLI_ghashIterator_free(GHashIterator *ghi); void BLI_ghashIterator_free(GHashIterator *ghi);
void BLI_ghashIterator_step(GHashIterator *ghi); void BLI_ghashIterator_step(GHashIterator *ghi);
@ -122,7 +122,7 @@ BLI_INLINE bool BLI_ghashIterator_done(GHashIterator *ghi) { return !ghi
BLI_ghashIterator_step(&gh_iter_)) BLI_ghashIterator_step(&gh_iter_))
#define GHASH_ITER_INDEX(gh_iter_, ghash_, i_) \ #define GHASH_ITER_INDEX(gh_iter_, ghash_, i_) \
for (unsigned i_ = BLI_ghashIterator_init(&gh_iter_, ghash_); \ for (BLI_ghashIterator_init(&gh_iter_, ghash_), i_ = 0; \
BLI_ghashIterator_done(&gh_iter_) == false; \ BLI_ghashIterator_done(&gh_iter_) == false; \
BLI_ghashIterator_step(&gh_iter_), i_++) BLI_ghashIterator_step(&gh_iter_), i_++)
@ -243,7 +243,7 @@ GSet *BLI_gset_pair_new(const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT;
/* rely on inline api for now */ /* rely on inline api for now */
BLI_INLINE GSetIterator *BLI_gsetIterator_new(GSet *gs) { return (GSetIterator *)BLI_ghashIterator_new((GHash *)gs); } BLI_INLINE GSetIterator *BLI_gsetIterator_new(GSet *gs) { return (GSetIterator *)BLI_ghashIterator_new((GHash *)gs); }
BLI_INLINE unsigned BLI_gsetIterator_init(GSetIterator *gsi, GSet *gs) { BLI_ghashIterator_init((GHashIterator *)gsi, (GHash *)gs); return 0; } BLI_INLINE void BLI_gsetIterator_init(GSetIterator *gsi, GSet *gs) { BLI_ghashIterator_init((GHashIterator *)gsi, (GHash *)gs); }
BLI_INLINE void BLI_gsetIterator_free(GSetIterator *gsi) { BLI_ghashIterator_free((GHashIterator *)gsi); } BLI_INLINE void BLI_gsetIterator_free(GSetIterator *gsi) { BLI_ghashIterator_free((GHashIterator *)gsi); }
BLI_INLINE void *BLI_gsetIterator_getKey(GSetIterator *gsi) { return BLI_ghashIterator_getKey((GHashIterator *)gsi); } BLI_INLINE void *BLI_gsetIterator_getKey(GSetIterator *gsi) { return BLI_ghashIterator_getKey((GHashIterator *)gsi); }
BLI_INLINE void BLI_gsetIterator_step(GSetIterator *gsi) { BLI_ghashIterator_step((GHashIterator *)gsi); } BLI_INLINE void BLI_gsetIterator_step(GSetIterator *gsi) { BLI_ghashIterator_step((GHashIterator *)gsi); }
@ -255,7 +255,7 @@ BLI_INLINE bool BLI_gsetIterator_done(GSetIterator *gsi) { return BLI_ghashItera
BLI_gsetIterator_step(&gs_iter_)) BLI_gsetIterator_step(&gs_iter_))
#define GSET_ITER_INDEX(gs_iter_, gset_, i_) \ #define GSET_ITER_INDEX(gs_iter_, gset_, i_) \
for (unsigned i_ = BLI_gsetIterator_init(&gs_iter_, gset_); \ for (BLI_gsetIterator_init(&gs_iter_, gset_), i_ = 0; \
BLI_gsetIterator_done(&gs_iter_) == false; \ BLI_gsetIterator_done(&gs_iter_) == false; \
BLI_gsetIterator_step(&gs_iter_), i_++) BLI_gsetIterator_step(&gs_iter_), i_++)

@ -934,7 +934,7 @@ GHashIterator *BLI_ghashIterator_new(GHash *gh)
* \param ghi The GHashIterator to initialize. * \param ghi The GHashIterator to initialize.
* \param gh The GHash to iterate over. * \param gh The GHash to iterate over.
*/ */
unsigned BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh) void BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh)
{ {
ghi->gh = gh; ghi->gh = gh;
ghi->curEntry = NULL; ghi->curEntry = NULL;
@ -947,7 +947,6 @@ unsigned BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh)
ghi->curEntry = ghi->gh->buckets[ghi->curBucket]; ghi->curEntry = ghi->gh->buckets[ghi->curBucket];
} while (!ghi->curEntry); } while (!ghi->curEntry);
} }
return 0;
} }
/** /**