version 1.16, 2006/10/28 21:14:29 |
version 1.17, 2006/10/29 18:40:34 |
|
|
} |
} |
|
|
i = min(16, nfiles) * LALIGN(MAXLLEN+sizeof(TMFILE)); |
i = min(16, nfiles) * LALIGN(MAXLLEN+sizeof(TMFILE)); |
if (!buffer || i > BUFSIZE) { |
if (i > bufsize) { |
buffer = buffer ? realloc(buffer, i) : malloc(i); |
do { |
|
bufsize *= 2; |
|
} while (i > bufsize); |
|
buffer = realloc(buffer, bufsize); |
if (!buffer) |
if (!buffer) |
errx(2, "cannot allocate memory"); |
errx(2, "cannot allocate memory"); |
if (!SINGL_FLD) { |
bufend = buffer + bufsize - 1; |
if ((linebuf = malloc(MAXLLEN)) == NULL) |
|
errx(2, "cannot allocate memory"); |
|
} |
|
} |
} |
|
|
if (binno >= 0) |
if (binno >= 0) |
|
|
int c; |
int c; |
RECHEADER *crec, *prec, *trec; |
RECHEADER *crec, *prec, *trec; |
|
|
if (!SINGL_FLD) { |
if (bufsize < 2 * ALIGN(MAXLLEN + sizeof(TRECHEADER))) { |
if ((linebuf = malloc(MAXLLEN)) == NULL) |
do { |
errx(2, "cannot allocate memory"); |
bufsize *= 2; |
|
} while (bufsize < 2 * ALIGN(MAXLLEN + sizeof(TRECHEADER))); |
|
if ((buffer = realloc(buffer, bufsize)) == NULL) |
|
err(2, NULL); |
|
bufend = buffer + bufsize - 1; |
} |
} |
buffer = malloc(2 * ALIGN((MAXLLEN + sizeof(TRECHEADER)))); |
|
if (buffer == NULL) |
|
errx(2, "cannot allocate memory"); |
|
|
|
crec = (RECHEADER *) buffer; |
crec = (RECHEADER *) buffer; |
crec_end = ((char *)crec) + ALIGN(MAXLLEN + sizeof(TRECHEADER)); |
crec_end = ((char *)crec) + ALIGN(MAXLLEN + sizeof(TRECHEADER)); |
prec = (RECHEADER *) crec_end; |
prec = (RECHEADER *) crec_end; |