for (i = 0; i < cp->size; i++)
if (cp->cache[i].id == id)
return i;
- i = cp->size;
- cp->cache = xrealloc_vector(cp->cache, 2, cp->size++);
+ i = cp->size++;
+ cp->cache = xrealloc_vector(cp->cache, 2, i);
cp->cache[i++].id = id;
return -i;
}
for (i = 0; i < cp->size; i++)
if (cp->cache[i].id == id)
return cp->cache[i].name;
- i = cp->size;
- cp->cache = xrealloc_vector(cp->cache, 2, cp->size++);
+ i = cp->size++;
+ cp->cache = xrealloc_vector(cp->cache, 2, i);
cp->cache[i].id = id;
/* Never fails. Generates numeric string if name isn't found */
fp(cp->cache[i].name, sizeof(cp->cache[i].name), id);
FILE *file;
strcpy(filename_tail, "/smaps");
- file = fopen(filename, "r");
+ file = fopen_for_read(filename);
if (!file)
break;
while (fgets(buf, sizeof(buf), file)) {