5 void strbuf_init(struct strbuf
*sb
) {
7 sb
->eof
= sb
->alloc
= sb
->len
= 0;
10 static void strbuf_begin(struct strbuf
*sb
) {
15 static void inline strbuf_add(struct strbuf
*sb
, int ch
) {
16 if (sb
->alloc
<= sb
->len
) {
17 sb
->alloc
= sb
->alloc
* 3 / 2 + 16;
18 sb
->buf
= realloc(sb
->buf
, sb
->alloc
);
20 sb
->buf
[sb
->len
++] = ch
;
23 static void strbuf_end(struct strbuf
*sb
) {
27 void read_line(struct strbuf
*sb
, FILE *fp
, int term
) {
34 while ((ch
= fgetc(fp
)) != EOF
) {