diff --git a/sent.c b/sent.c index f7cadb6..baf6d4f 100644 --- a/sent.c +++ b/sent.c @@ -413,10 +413,6 @@ void load(FILE *fp) /* read each line from fp and add it to the item list */ while (1) { - if ((slidecount+1) * sizeof(*slides) >= size) - if (!(slides = realloc(slides, (size += BUFSIZ)))) - die("cannot realloc %u bytes:", size); - /* eat consecutive empty lines */ while ((p = fgets(buf, sizeof(buf), fp))) if (strcmp(buf, "\n") != 0 && buf[0] != '#') @@ -424,6 +420,10 @@ void load(FILE *fp) if (!p) break; + if ((slidecount+1) * sizeof(*slides) >= size) + if (!(slides = realloc(slides, (size += BUFSIZ)))) + die("cannot realloc %u bytes:", size); + /* read one slide */ maxlines = 0; memset((s = &slides[slidecount]), 0, sizeof(Slide));