version 1.7, 1999/08/24 18:49:45 |
version 1.8, 2000/06/07 14:20:15 |
|
|
} |
} |
|
|
for (opencnt = cnt; opencnt;) { |
for (opencnt = cnt; opencnt;) { |
lbuf = NULL; |
|
for (output = 0, lp = head; lp; lp = lp->next) { |
for (output = 0, lp = head; lp; lp = lp->next) { |
|
lbuf = NULL; |
if (!lp->fp) { |
if (!lp->fp) { |
if (output && lp->cnt && |
if (output && lp->cnt && |
(ch = delim[(lp->cnt - 1) % delimcnt])) |
(ch = delim[(lp->cnt - 1) % delimcnt])) |
|
|
if (*(buf + len - 1) == '\n') |
if (*(buf + len - 1) == '\n') |
*(buf + len - 1) = '\0'; |
*(buf + len - 1) = '\0'; |
else { |
else { |
lbuf = (char *)malloc(len + 1); |
if ((lbuf = malloc(len + 1)) == NULL) |
|
err(1, NULL); |
memcpy(lbuf, buf, len); |
memcpy(lbuf, buf, len); |
lbuf[len] = '\0'; |
lbuf[len] = '\0'; |
buf = lbuf; |
buf = lbuf; |
|
|
} else if ((ch = delim[(lp->cnt - 1) % delimcnt])) |
} else if ((ch = delim[(lp->cnt - 1) % delimcnt])) |
putchar(ch); |
putchar(ch); |
(void)printf("%s", buf); |
(void)printf("%s", buf); |
if (lbuf != NULL) { |
if (lbuf) |
free(lbuf); |
free(lbuf); |
lbuf = NULL; |
|
} |
|
} |
} |
if (output) |
if (output) |
putchar('\n'); |
putchar('\n'); |
|
|
char *buf, *lbuf; |
char *buf, *lbuf; |
size_t len; |
size_t len; |
|
|
lbuf = NULL; |
|
for (; (p = *argv); ++argv) { |
for (; (p = *argv); ++argv) { |
|
lbuf = NULL; |
if (p[0] == '-' && !p[1]) |
if (p[0] == '-' && !p[1]) |
fp = stdin; |
fp = stdin; |
else if (!(fp = fopen(p, "r"))) { |
else if (!(fp = fopen(p, "r"))) { |
|
|
if (*(buf + len - 1) == '\n') |
if (*(buf + len - 1) == '\n') |
*(buf + len - 1) = '\0'; |
*(buf + len - 1) = '\0'; |
else { |
else { |
lbuf = (char *)malloc(len + 1); |
if ((lbuf = malloc(len + 1)) == NULL) |
|
err(1, NULL); |
memcpy(lbuf, buf, len); |
memcpy(lbuf, buf, len); |
lbuf[len] = '\0'; |
lbuf[len] = '\0'; |
buf = lbuf; |
buf = lbuf; |
|
|
} |
} |
if (fp != stdin) |
if (fp != stdin) |
(void)fclose(fp); |
(void)fclose(fp); |
if (lbuf != NULL) { |
if (lbuf) |
free(lbuf); |
free(lbuf); |
lbuf = NULL; |
|
} |
|
} |
} |
} |
} |
|
|