From 9fcd81df89c2736e405f4dbb9bf97fe904818c7f Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Wed, 23 Oct 2019 16:47:15 -0400 Subject: Add verbose flag --- server.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'server.c') diff --git a/server.c b/server.c index 72d668a..5cb7776 100644 --- a/server.c +++ b/server.c @@ -14,6 +14,7 @@ * along with this program. If not, see . */ +#include #include #include #include @@ -80,6 +81,7 @@ int serverConnect(const char *host, const char *port) { } void serverSend(const char *ptr, size_t len) { + if (verbose) fprintf(stderr, "\x1B[31m%.*s\x1B[m", (int)len, ptr); while (len) { ssize_t ret = tls_write(client, ptr, len); if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) continue; @@ -90,14 +92,13 @@ void serverSend(const char *ptr, size_t len) { } static void format(const char *format, ...) { - char *buf; + char buf[513]; va_list ap; va_start(ap, format); - int len = vasprintf(&buf, format, ap); + int len = vsnprintf(buf, sizeof(buf), format, ap); va_end(ap); - if (!buf) err(EX_OSERR, "vasprintf"); + assert(len > 0 && (size_t)len < sizeof(buf)); serverSend(buf, len); - free(buf); } static const char Base64[64] = { @@ -177,8 +178,11 @@ void serverRecv(void) { crlf = memmem(line, &buf[len] - line, "\r\n", 2); if (!crlf) break; crlf[0] = '\0'; + + if (verbose) fprintf(stderr, "\x1B[32m%s\x1B[m\n", line); // TODO: Add line to ring if stateReady(). stateParse(line); + line = crlf + 2; } len -= line - buf; -- cgit 1.4.1