# HG changeset patch # User Mike Becker # Date 1774783120 -7200 # Node ID 84e0dec5db16add6e5575220f3b02d1ac6b34f54 # Parent c7b586c0ee3615fc83480e2fa18bd6bc6e37ae08 use port number instead of port string in network code diff -r c7b586c0ee36 -r 84e0dec5db16 src/client.c --- a/src/client.c Sat Mar 28 14:04:21 2026 +0100 +++ b/src/client.c Sun Mar 29 13:18:40 2026 +0200 @@ -34,7 +34,7 @@ #include #include -static int client_connect(Server *server, char *host, char *port) { +static int client_connect(Server *server, char *host, short port) { if (net_find(server, host, port)) { addstr("Can't find server"); return 1; diff -r c7b586c0ee36 -r 84e0dec5db16 src/game.h --- a/src/game.h Sat Mar 28 14:04:21 2026 +0100 +++ b/src/game.h Sun Mar 29 13:18:40 2026 +0200 @@ -39,9 +39,9 @@ typedef struct { GameInfo gameinfo; - char* port; char* serverhost; /* NULL, if we are about to start a server */ char* continuepgn; + short port; bool singlemachine; bool disableflip; bool unicode; diff -r c7b586c0ee36 -r 84e0dec5db16 src/main.c --- a/src/main.c Sat Mar 28 14:04:21 2026 +0100 +++ b/src/main.c Sun Mar 29 13:18:40 2026 +0200 @@ -27,7 +27,7 @@ * */ -#define PROGRAM_VERSION "0.9 beta" +#define PROGRAM_VERSION "1.0 alpha" #include "game.h" #include "input.h" @@ -95,7 +95,7 @@ optarg); return 1; } else { - settings->port = optarg; + settings->port = (short) port; } break; case 'v': @@ -152,7 +152,7 @@ static Settings default_settings() { Settings settings = {0}; settings.gameinfo.servercolor = WHITE; - settings.port = "27015"; + settings.port = 27015; settings.unicode = !!setlocale(LC_CTYPE, "C.UTF-8"); return settings; } diff -r c7b586c0ee36 -r 84e0dec5db16 src/network.c --- a/src/network.c Sat Mar 28 14:04:21 2026 +0100 +++ b/src/network.c Sun Mar 29 13:18:40 2026 +0200 @@ -31,15 +31,17 @@ #include #include "network.h" +#include + #define new_socket() socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); -int net_create(Server *server, char* port) { +int net_create(Server *server, short port) { server->info = NULL; struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; - addr.sin_port = htons(atoi(port)); + addr.sin_port = htons(port); server->fd = new_socket(); if (server->fd > -1) { @@ -64,11 +66,12 @@ return getaddrinfo(host, port, &hints, info); } -int net_find(Server *server, char *host, char* port) { +int net_find(Server *server, char *host, short port) { memset(server, 0, sizeof(Server)); server->fd = -1; - - return getaddrinfo_intrnl(host, port, &(server->info)); + char portstr[6]; + sprintf(portstr, "%hd", port); + return getaddrinfo_intrnl(host, portstr, &(server->info)); } int net_listen(Server *server) { diff -r c7b586c0ee36 -r 84e0dec5db16 src/network.h --- a/src/network.h Sat Mar 28 14:04:21 2026 +0100 +++ b/src/network.h Sun Mar 29 13:18:40 2026 +0200 @@ -64,8 +64,8 @@ Client *client; } Server; -int net_create(Server *server, char* port); -int net_find(Server *server, char* host, char* port); +int net_create(Server *server, short port); +int net_find(Server *server, char* host, short port); int net_listen(Server *server); int net_destroy(Server *server); diff -r c7b586c0ee36 -r 84e0dec5db16 src/server.c --- a/src/server.c Sat Mar 28 14:04:21 2026 +0100 +++ b/src/server.c Sun Mar 29 13:18:40 2026 +0200 @@ -36,7 +36,7 @@ #include #include -static int server_open(Server *server, char *port) { +static int server_open(Server *server, short port) { printw("\nListening for client...\n"); refresh(); if (net_create(server, port)) {