summary refs log tree commit diff
path: root/log.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--log.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/log.c b/log.c
index 9cd6557..150b629 100644
--- a/log.c
+++ b/log.c
@@ -91,6 +91,8 @@ static FILE *logFile(struct Tag tag, const struct tm *time) {
 	return log->file;
 }
 
+enum { StampSize = sizeof("YYYY-MM-DDThh:mm:ss+hhmm") };
+
 void logFmt(struct Tag tag, const time_t *ts, const char *format, ...) {
 	if (logRoot < 0) return;
 
@@ -105,8 +107,8 @@ void logFmt(struct Tag tag, const time_t *ts, const char *format, ...) {
 
 	FILE *file = logFile(tag, time);
 
-	char stamp[sizeof("YYYY-MM-DDThh:mm:ss+hhmm")];
-	strftime(stamp, sizeof(stamp), "%FT%T%z", time);
+	char stamp[StampSize];
+	strftime(stamp, StampSize, "%FT%T%z", time);
 	fprintf(file, "[%s] ", stamp);
 	if (ferror(file)) err(EX_IOERR, "%s", tag.name);
 
@@ -133,7 +135,9 @@ void logReplay(struct Tag tag) {
 	size_t len;
 	char *line;
 	while (NULL != (line = fgetln(file, &len))) {
-		uiFmt(tag, UICold, "\3%d%.*s", IRCGray, (int)(len - 1), line);
+		line[len - 1] = '\0';
+		if (len > 2 + StampSize) line = &line[2 + StampSize];
+		uiFmt(tag, UICold, "\3%d%s", IRCGray, line);
 	}
 	if (ferror(file)) err(EX_IOERR, "%s", tag.name);
 }
n>Apply consecutive formatting codes at onceJune McEnroe Fixes the failing splits test. 2018-09-14Add tests for formatParseJune McEnroe With one currently failing so you know they're worth it. 2018-09-13Preview with nick in input windowJune McEnroe 2018-09-13Never send PRIVMSG to TagStatus or TagVerboseJune McEnroe 2018-09-13Move color selection to format.cJune McEnroe 2018-09-13Fix len for format->split at end of stringJune McEnroe 2018-09-13Avoid uninitialized x in uiReadJune McEnroe 2018-09-13Add IRCDefault to colors enumJune McEnroe 2018-09-13Return a format->split even at the end of the stringJune McEnroe 2018-09-13Fix weird tab-complete after commaJune McEnroe I have no idea why I did this. 2018-09-13Rewrite UI againJune McEnroe The persistent topic is gone and the status line is now at the top. The status formatting still needs to be reworked. I also want to try showing the nick in the input window so it really looks like your next message. 2018-09-12Add note about C-oJune McEnroe Why are there so few well usable ctrl key bindings? 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe Ridiculous. 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe