From 9ea0be3f07abd86aa852eec11e42663b578970b1 Mon Sep 17 00:00:00 2001 From: Robert Ransom Date: Tue, 22 May 2012 11:05:07 +0000 Subject: [PATCH] Add missing file (util/getlines.c) --- util/getlines.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 util/getlines.c diff --git a/util/getlines.c b/util/getlines.c new file mode 100644 index 0000000..cf193eb --- /dev/null +++ b/util/getlines.c @@ -0,0 +1,22 @@ +/* See LICENSE file for copyright and license details. */ +#include +#include +#include +#include "../text.h" +#include "../util.h" + +void +getlines(FILE *fp, struct linebuf *b) +{ + char *line = NULL; + size_t size = 0; + + while(afgets(&line, &size, fp)) { + if(++b->nlines > b->capacity && !(b->lines = realloc(b->lines, (b->capacity+=512) * sizeof *b->lines))) + eprintf("realloc:"); + if(!(b->lines[b->nlines-1] = malloc(strlen(line)+1))) + eprintf("malloc:"); + strcpy(b->lines[b->nlines-1], line); + } + free(line); +}