* \param the Iterator to analyze
* \returns the n'th hashposition we point at
*/
-int GetHashPosCounter(HashPos *At)
+int GetHashPosCounter(HashList *Hash, HashPos *At)
{
+ if ((Hash == NULL) ||
+ (At->Position >= Hash->nMembersUsed) ||
+ (At->Position < 0) ||
+ (At->Position > Hash->nMembersUsed))
+ return 0;
return At->Position;
}
long PayloadPos;
long offset = 0;
- if ((Hash == NULL) || (At->Position >= Hash->nMembersUsed) || (At->Position < 0))
+ if ((Hash == NULL) ||
+ (At->Position >= Hash->nMembersUsed) ||
+ (At->Position < 0) ||
+ (At->Position > Hash->nMembersUsed))
return 0;
*HKLen = Hash->LookupTable[At->Position]->HKLen;
*HashKey = Hash->LookupTable[At->Position]->HashKey;
else
At->Position += ((At->Position) % abs(At->StepWidth)) *
(At->StepWidth / abs(At->StepWidth));
-
- if (At->Position > Hash->nMembersUsed) {
- At->Position = Hash->nMembersUsed - 1;
- return 0;
- } else if (At->Position <= 0) {
- At->Position = 0;
- return 0;
- }
return 1;
}
{
long PayloadPos;
- if ((Hash == NULL) || (At >= Hash->nMembersUsed))
+ if ((Hash == NULL) ||
+ (At < 0) ||
+ (At > Hash->nMembersUsed))
return 0;
*HKLen = Hash->LookupTable[At]->HKLen;
*HashKey = Hash->LookupTable[At]->HashKey;