commit 080a1ee8333718a0b09cfbb8de12c34dfe4b4363
parent 2a83c2c8bef7f0e48d575e14d49aa22e44b649dd
Author: sin <sin@2f30.org>
Date: Mon, 9 Feb 2015 14:10:24 +0000
No need to free the buffer for every call to getline()
It will realloc as necessary if the new line size exceeds the
capacity of the allocated buffer.
Diffstat:
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tail.c b/tail.c
@@ -101,13 +101,12 @@ main(int argc, char *argv[])
tail(fp, argv[0], n);
if (fflag && argc == 1) {
- for(;; tmp = NULL, tmpsize = 0) {
+ tmp = NULL;
+ tmpsize = 0;
+ for(;;) {
while (getline(&tmp, &tmpsize, fp) != -1) {
fputs(tmp, stdout);
fflush(stdout);
- free(tmp);
- tmp = NULL;
- tmpsize = 0;
}
if (ferror(fp))
eprintf("readline '%s':", argv[0]);