Fix type of iterator variable in SH_START_ITERATE

Also add comment to make the reasoning behind the Assert() more explicit (per
Tom).

Reported-by: Ranier Vilela
Discussion: https://postgr.es/m/CAEudQAocXNJ6s1VLz+hMamLAQAiewRoW17OJ6-+9GACKfj6iPQ@mail.gmail.com
Backpatch: 11-
This commit is contained in:
Andres Freund 2023-07-06 08:34:17 -07:00
parent 1fa25ce70f
commit f0a94d81e4
1 changed files with 2 additions and 2 deletions

View File

@ -964,7 +964,6 @@ SH_DELETE_ITEM(SH_TYPE * tb, SH_ELEMENT_TYPE * entry)
SH_SCOPE void SH_SCOPE void
SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
{ {
int i;
uint64 startelem = PG_UINT64_MAX; uint64 startelem = PG_UINT64_MAX;
/* /*
@ -972,7 +971,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
* supported, we want to start/end at an element that cannot be affected * supported, we want to start/end at an element that cannot be affected
* by elements being shifted. * by elements being shifted.
*/ */
for (i = 0; i < tb->size; i++) for (uint32 i = 0; i < tb->size; i++)
{ {
SH_ELEMENT_TYPE *entry = &tb->data[i]; SH_ELEMENT_TYPE *entry = &tb->data[i];
@ -983,6 +982,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
} }
} }
/* we should have found an empty element */
Assert(startelem < SH_MAX_SIZE); Assert(startelem < SH_MAX_SIZE);
/* /*