version 1.13, 2003/06/03 02:56:11 |
version 1.14, 2003/10/13 00:46:08 |
|
|
{ |
{ |
char c, *cp, *cp2, quotec; |
char c, *cp, *cp2, quotec; |
int argn; |
int argn; |
char *linebuf; |
char *linebuf, *linebuf2; |
size_t linebufsize = BUFSIZ; |
size_t newsize, linebufsize = BUFSIZ; |
|
|
if ((linebuf = (char *)malloc(linebufsize)) == NULL) |
if ((linebuf = (char *)malloc(linebufsize)) == NULL) |
errx(1, "Out of memory"); |
errx(1, "Out of memory"); |
|
|
while ((c = *cp) != '\0') { |
while ((c = *cp) != '\0') { |
/* Alloc more space if necessary */ |
/* Alloc more space if necessary */ |
if (cp2 - linebuf == linebufsize - 1) { |
if (cp2 - linebuf == linebufsize - 1) { |
linebufsize += BUFSIZ; |
newsize = linebufsize + BUFSIZ; |
linebuf = (char *)realloc(linebuf, linebufsize); |
linebuf2 = realloc(linebuf, newsize); |
if (linebuf == NULL) |
if (linebuf2 == NULL) |
errx(1, "Out of memory"); |
errx(1, "Out of memory"); |
|
linebuf = linebuf2; |
|
linebufsize = newsize; |
cp2 = linebuf + linebufsize - BUFSIZ - 1; |
cp2 = linebuf + linebufsize - BUFSIZ - 1; |
} |
} |
cp++; |
cp++; |