static void load_ugly_table(FILE *fp)
{
- char buf[2048];
+ char *buf = NULL;
+ size_t buflen = 0;
+ ssize_t nread;
struct nstat_ent *db = NULL;
struct nstat_ent *n;
- while (fgets(buf, sizeof(buf), fp) != NULL) {
+ while ((nread = getline(&buf, &buflen, fp)) != -1) {
char idbuf[4096];
int off;
char *p;
p = next;
}
n = db;
- if (fgets(buf, sizeof(buf), fp) == NULL)
+ nread = getline(&buf, &buflen, fp);
+ if (nread == -1)
abort();
count2 = count_spaces(buf);
if (count2 > count1)
n = n->next;
} while (p > buf + off + 2);
}
+ free(buf);
while (db) {
n = db;