bug hunting in indexquery

master
Oliver Tonnhofer 2013-08-09 14:26:21 +02:00
parent d6e46f78c9
commit df5ad4c6ff
1 changed files with 4 additions and 4 deletions

View File

@ -39,20 +39,20 @@ typedef struct {
} queryResult;
void queryResultAppend(queryResult *r, int idx) {
r->num += 1;
if (r->num >= r->arrCap) {
uint32_t newCap = r->arrCap > 0 ? r->arrCap * 2 : 8;
if ((r->num+1) >= r->arrCap) {
uint32_t newCap = r->arrCap > 0 ? r->arrCap * 2 : 2;
uint32_t *newArr = malloc(sizeof(uint32_t) * newCap);
if (r->arrCap == 0) {
r->arr = newArr;
} else {
memcpy(newArr, r->arr, r->num-1);
memcpy(newArr, r->arr, sizeof(uint32_t) * r->arrCap);
free(r->arr);
r->arr = newArr;
}
r->arrCap = newCap;
}
r->arr[r->num] = idx;
r->num += 1;
}
void IndexQueryCallback(void *item, void *userdata) {