summary refs log tree commit diff
path: root/irc.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--irc.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/irc.c b/irc.c
index 704caa6..6a65c79 100644
--- a/irc.c
+++ b/irc.c
@@ -157,15 +157,17 @@ int ircConnect(const char *bindHost, const char *host, const char *port) {
 	return sock;
 }
 
-static void debug(char dir, const char *line) {
+enum { MessageCap = 8191 + 512 };
+
+static void debug(const char *pre, const char *line) {
 	if (!self.debug) return;
 	size_t len = strcspn(line, "\r\n");
 	uiFormat(
-		Debug, Cold, NULL, "\3%d%c%c\3\t%.*s",
-		Gray, dir, dir, (int)len, line
+		Debug, Cold, NULL, "\3%02d%s\3\t%.*s",
+		Gray, pre, (int)len, line
 	);
 	if (!isatty(STDERR_FILENO)) {
-		fprintf(stderr, "%c%c %.*s\n", dir, dir, (int)len, line);
+		fprintf(stderr, "%s %.*s\n", pre, (int)len, line);
 	}
 }
 
@@ -181,13 +183,13 @@ void ircSend(const char *ptr, size_t len) {
 }
 
 void ircFormat(const char *format, ...) {
-	char buf[1024];
+	char buf[MessageCap];
 	va_list ap;
 	va_start(ap, format);
 	int len = vsnprintf(buf, sizeof(buf), format, ap);
 	va_end(ap);
 	assert((size_t)len < sizeof(buf));
-	debug('<', buf);
+	debug("<<", buf);
 	ircSend(buf, len);
 }
 
@@ -249,7 +251,7 @@ static struct Message parse(char *line) {
 }
 
 void ircRecv(void) {
-	static char buf[8191 + 512];
+	static char buf[MessageCap];
 	static size_t len = 0;
 
 	assert(client);
@@ -265,7 +267,7 @@ void ircRecv(void) {
 		crlf = memmem(line, &buf[len] - line, "\r\n", 2);
 		if (!crlf) break;
 		*crlf = '\0';
-		debug('>', line);
+		debug(">>", line);
 		handle(parse(line));
 		line = crlf + 2;
 	}