From c4c4de69234e6b934c6e38f7527b4711964b8af5 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Fri, 25 Jan 2019 03:17:02 -0500 Subject: [PATCH] Use getline in place of fgetln --- log.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/log.c b/log.c index 0b7e386..579e99b 100644 --- a/log.c +++ b/log.c @@ -132,12 +132,14 @@ void logReplay(struct Tag tag) { FILE *file = logFile(tag, time); rewind(file); - size_t len; - char *line; - while (NULL != (line = fgetln(file, &len))) { + char *line = NULL; + size_t cap = 0; + ssize_t len; + while (0 < (len = getline(&line, &cap, file))) { + if (len < 1 + StampLen + 2 + 1) continue; line[len - 1] = '\0'; - if (len > 1 + StampLen + 2) line = &line[1 + StampLen + 2]; - uiFmt(tag, UICold, "\3%d%s", IRCGray, line); + uiFmt(tag, UICold, "\3%d%s", IRCGray, &line[1 + StampLen + 2]); } if (ferror(file)) err(EX_IOERR, "%s", tag.name); + free(line); }