From 26df2f9a8cbe3a249d54baa090edaf6a13ec883d Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Fri, 29 May 2026 13:57:07 +0530 Subject: crazy working logging system, we are back to where we were yesterday, just with logs --- src/server.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/server.c') diff --git a/src/server.c b/src/server.c index 8b39d38..bf26970 100644 --- a/src/server.c +++ b/src/server.c @@ -31,9 +31,17 @@ int main(void) { .sin_port = htons(PORT) }; - bind(server_fd, (struct sockaddr *)&addr, sizeof(addr)); - listen(server_fd, 16); - log_infof("Listening on %d\n", PORT); + if (bind(server_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + perror("bind"); + return 1; + } + + if (listen(server_fd, 16) < 0) { + perror("listen"); + return 1; + } + + log_infof("Listening on %d", PORT); for (;;) { int client = accept(server_fd, NULL, NULL); @@ -74,7 +82,7 @@ int main(void) { ); send(client, response, strlen(response), 0); - printf("WebSocket connected\n"); + log_infof("WebSocket connected\n"); for (;;) { unsigned char hdr[2]; @@ -106,14 +114,15 @@ int main(void) { for (unsigned i = 0; i < len; i++) payload[i] ^= mask[i % 4]; - char* payload_ptr = payload; - struct strs response = handle_input(tx, rx, payload_ptr, len); - + char* payload_ptr = (char*)payload; + struct strs response = handle_input(logging, tx, rx, payload_ptr, len); + unsigned char out[128]; out[0] = 0x81; for (int i = 0; i < response.count; i++) { struct str item = response.data[i]; out[1] = item.len; + assert(item.len <= 125); memcpy(out + 2, item.msg, item.len); send(client, out, item.len + 2, 0); -- cgit v1.2.3