| /* See LICENSE file for copyright and license details. */ | |
| struct line { | |
| char *data; | |
| size_t len; | |
| }; | |
| struct linebuf { | |
| struct line *lines; | |
| size_t nlines; | |
| size_t capacity; | |
| }; | |
| #define EMPTY_LINEBUF {NULL, 0, 0,} | |
| void getlines(FILE *, struct linebuf *); | |
| void concat(FILE *, const char *, FILE *, const char *); | |
| int linecmp(struct line *, struct line *); |