diff options
| author | Syndamia <kamen@syndamia.com> | 2023-12-07 10:59:52 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2023-12-07 10:59:52 +0200 |
| commit | bba64eb044562a88b7f93ab62eef62ea4fbb5cb4 (patch) | |
| tree | 1c2dafcbad9710865aa8ee8fe27c6b0df12a9aaf /server.c | |
| parent | 922694d1c64aec4419e9f472469eb32fb5e4f84e (diff) | |
| download | pico-web-bba64eb044562a88b7f93ab62eef62ea4fbb5cb4.tar pico-web-bba64eb044562a88b7f93ab62eef62ea4fbb5cb4.tar.gz pico-web-bba64eb044562a88b7f93ab62eef62ea4fbb5cb4.zip | |
[util] Added error handling function
Diffstat (limited to 'server.c')
| -rw-r--r-- | server.c | 35 |
1 files changed, 9 insertions, 26 deletions
@@ -10,40 +10,23 @@ #include <util.h> int main(int argc, char* argv[]) { - int fd_socket = socket(AF_INET, SOCK_STREAM, 0); - if (fd_socket < 0) { - perror("socket"); - return 1; - } + int fd_socket; + herr(fd_socket = socket(AF_INET, SOCK_STREAM, 0), "socket"); struct sockaddr_in sa_socket = { .sin_family = AF_INET, .sin_port = inet_atop("8080"), }; - if (inet_aton("127.0.0.1", &sa_socket.sin_addr.s_addr) < 0) { - perror("inet_aton"); - return 2; - } - - int try_bind = bind(fd_socket, (struct sockaddr*)&sa_socket, sizeof(struct sockaddr_in)); - if (try_bind < 0) { - perror("bind"); - return 3; - } - - int try_listen = listen(fd_socket, 50); - if (try_listen < 0) { - perror("bind"); - return 4; - } + herr(inet_aton("127.0.0.1", &sa_socket.sin_addr.s_addr), "inet_aton"); + + herr(bind(fd_socket, (struct sockaddr*)&sa_socket, sizeof(struct sockaddr_in)), "bind"); + + herr(listen(fd_socket, 50), "listen"); struct sockaddr_in sa_client; socklen_t sa_client_size = sizeof(struct sockaddr_in); - int fd_client = accept(fd_socket, (struct sockaddr*)&sa_client, &sa_client_size); - if (fd_client < 0) { - perror("accept"); - return 5; - } + int fd_client; + herr(fd_client = accept(fd_socket, (struct sockaddr*)&sa_client, &sa_client_size), "accept"); char buff[256]; read(fd_client, buff, 256); |
