Return to inout.c CVS log | Up to [local] / src / usr.bin / dc |
version 1.3, 2003/09/19 19:06:29 | version 1.4, 2003/09/28 19:29:32 | ||
---|---|---|---|
|
|
||
char * | char * | ||
read_string(struct source *src) | read_string(struct source *src) | ||
{ | { | ||
int count, i, sz, ch; | int count, i, sz, new_sz, ch; | ||
char *p; | char *p; | ||
count = 1; | count = 1; | ||
|
|
||
if (count == 0) | if (count == 0) | ||
break; | break; | ||
if (i == sz) { | if (i == sz) { | ||
sz *= 2; | new_sz = sz * 2; | ||
p = brealloc(p, sz + 1); | p = brealloc(p, new_sz + 1); | ||
sz = new_sz; | |||
} | } | ||
p[i++] = ch; | p[i++] = ch; | ||
} | } |