Update stuff

This commit is contained in:
2026-05-25 23:13:27 -07:00
parent 5d631b594f
commit 5dfbdc43c0
7 changed files with 133 additions and 168 deletions
+14 -10
View File
@@ -8,12 +8,15 @@
#include <sys/socket.h>
#include <unistd.h>
#ifdef BAD_ERROR_REPORTING_FOR_AUTOGRADER
#include <stdio.h>
#endif
struct _Server {
int socket;
};
Server* make_server(const char* text_addr, uint32_t port)
{
Server *make_server(const char *text_addr, uint32_t port) {
struct sockaddr_in addr = {
.sin_family = AF_INET,
.sin_port = htons(port),
@@ -22,7 +25,7 @@ Server* make_server(const char* text_addr, uint32_t port)
log_error("bad IPv4 address: \"%s\"", text_addr);
return NULL;
}
Server* server = malloc_safe(sizeof(Server));
Server *server = malloc_safe(sizeof(Server));
server->socket = socket(AF_INET, SOCK_STREAM, 0);
if (server->socket < 0) {
log_errno("socket");
@@ -30,15 +33,18 @@ Server* make_server(const char* text_addr, uint32_t port)
return NULL;
}
int on = 1;
if (setsockopt(server->socket, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))
< 0) {
if (setsockopt(server->socket, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) {
log_errno("setsockopt SO_REUSEADDR");
close(server->socket);
free(server);
return NULL;
}
if (bind(server->socket, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
if (bind(server->socket, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
#ifdef BAD_ERROR_REPORTING_FOR_AUTOGRADER
fprintf(stderr, "Invalid Port\n");
#else
log_errno("bind");
#endif
close(server->socket);
free(server);
return NULL;
@@ -52,13 +58,11 @@ Server* make_server(const char* text_addr, uint32_t port)
return server;
}
void destroy_server(Server* server)
{
void destroy_server(Server *server) {
close(server->socket);
free(server);
}
int server_accept(Server* server)
{
int server_accept(Server *server) {
return accept(server->socket, NULL, NULL);
}