hermes

HTTP GET/HEAD-only web server for static content.
git clone https://git.francescosaccone.com/hermes
Log | Files | Refs | README | LICENSE

commit 151576ac8e05971d1654e0d9bdcfa9a8a4a63bb4
parent e597d2b166e402888f4562691feda8d3df134ec2
Author: Francesco Saccone <francesco@francescosaccone.com>
Date:   Mon, 31 Mar 2025 13:53:49 +0200

refactor: use 'critical' instead of 'printf' wherever a error is being printed

Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>

Diffstat:
Mhermes.c | 35+++++++++++++++--------------------
Msocket.c | 9+++++----
2 files changed, 20 insertions(+), 24 deletions(-)

diff --git a/hermes.c b/hermes.c @@ -5,6 +5,7 @@ #include <string.h> #include "socket.h" +#include "utils.h" #define DIRECTORY_INDEX_MAX_LENGTH 32 #define USER_NAME_MAX_LENGTH 32 @@ -12,8 +13,8 @@ void print_usage(char *program_name) { - printf("usage: %s [-p port] [-i file] [-u user] [-g group]\n", - program_name); + critical("usage: %s [-p port] [-i file] [-u user] [-g group]", + program_name); } int @@ -33,18 +34,15 @@ main(int argc, char *argv[]) { if (argument[0] != '-') { print_usage(program_name); - return 1; } /* if argument[2] is a non-null character */ if (argument[2]) { print_usage(program_name); - return 1; } if (!value_exists) { print_usage(program_name); - return 1; } switch (argument[1]) { @@ -54,10 +52,9 @@ main(int argc, char *argv[]) { break; case 'i': if (strlen(argv[i + 1]) >= DIRECTORY_INDEX_MAX_LENGTH) { - printf("error: directory index must be less than " - "%u characters\n", - DIRECTORY_INDEX_MAX_LENGTH); - return 1; + critical("error: directory index must be less than " + "%u characters", + DIRECTORY_INDEX_MAX_LENGTH); } strncpy(directory_index, argv[i + 1], sizeof(directory_index) - 1); directory_index[sizeof(directory_index) - 1] = '\0'; @@ -65,10 +62,9 @@ main(int argc, char *argv[]) { break; case 'u': if (strlen(argv[i + 1]) >= USER_NAME_MAX_LENGTH) { - printf("error: the user name must be less than " - "%u characters\n", - USER_NAME_MAX_LENGTH); - return 1; + critical("error: the user name must be less than " + "%u characters", + USER_NAME_MAX_LENGTH); } strncpy(user_name, argv[i + 1], sizeof(user_name) - 1); user_name[sizeof(user_name) - 1] = '\0'; @@ -76,10 +72,9 @@ main(int argc, char *argv[]) { break; case 'g': if (strlen(argv[i + 1]) >= GROUP_NAME_MAX_LENGTH) { - printf("error: the group name must be less than " - "%u characters\n", - GROUP_NAME_MAX_LENGTH); - return 1; + critical("error: the group name must be less than " + "%u characters", + GROUP_NAME_MAX_LENGTH); } strncpy(group_name, argv[i + 1], sizeof(group_name) - 1); group_name[sizeof(group_name) - 1] = '\0'; @@ -92,7 +87,7 @@ main(int argc, char *argv[]) { } if (port < 1 || port > 65535) { - printf("error: port must be between 1 and 65535.\n"); + critical("error: port must be between 1 and 65535."); return 1; }; @@ -100,12 +95,12 @@ main(int argc, char *argv[]) { group = getgrnam(group_name); if (user == NULL) { - printf("error: user %s does not exist.\n", user_name); + critical("error: user %s does not exist.", user_name); return 1; } if (group == NULL) { - printf("error: group %s does not exist.\n", group_name); + critical("error: group %s does not exist.", group_name); return 1; } diff --git a/socket.c b/socket.c @@ -6,6 +6,7 @@ #include <unistd.h> #include "socket.h" +#include "utils.h" int create_socket(unsigned int port) { @@ -13,7 +14,7 @@ create_socket(unsigned int port) { struct sockaddr_in address; if (socket_fd == -1) { - printf("error: socket creation\n"); + critical("error: socket creation"); exit(1); } @@ -22,12 +23,12 @@ create_socket(unsigned int port) { address.sin_port = htons(port); if (bind(socket_fd, (struct sockaddr *)&address, sizeof(address)) == -1) { - printf("error: bind socket to address\n"); + critical("error: bind socket to address"); exit(1); } if (listen(socket_fd, 3) == -1) { - printf("error: listen on socket\n"); + critical("error: listen on socket"); close(socket_fd); exit(1); } @@ -51,7 +52,7 @@ read_client_request(int client_socket_fd, char *buffer, unsigned int buffer_size) { if (buffer == NULL || buffer_size == 0) { - printf("error: invalid buffer provided in read_client_request"); + critical("error: invalid buffer provided in read_client_request"); return; }