X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/edit?a=blobdiff_plain;f=src%2Fclient%2Fio.c;h=26e4fe4330082d719079e44696ed45f2db755fff;hb=4aacb1d1011030e10044e2a54c68453bac14938a;hp=c0cf977bf0d802ec24f9cb3207ab2154ebe59b0d;hpb=edebb2bf9aa780ee2f7006c1d2be9168564d34df;p=plomrogue diff --git a/src/client/io.c b/src/client/io.c index c0cf977..26e4fe4 100644 --- a/src/client/io.c +++ b/src/client/io.c @@ -1,4 +1,9 @@ -/* src/client/io.c */ +/* src/client/io.c + * + * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3 + * or any later version. For details on its copyright, license, and warranties, + * see the file NOTICE in the root directory of the PlomRogue source package. + */ #define _POSIX_C_SOURCE 1 /* PIPE_BUF */ #include "io.h" @@ -47,7 +52,7 @@ static void read_log(char * read_buf, uint32_t linemax, FILE * file); static uint16_t read_value_from_line(char * read_buf, uint32_t linemax, FILE * file); -/* If the server's worldstate file has changed since the last read_world(), +/* If the server's worldstate file has changed since the last read_worldstate(), * return a pointer to its file descriptor; else, return NULL. * * Two tests are performed to check for a file change. The file's last data @@ -64,14 +69,14 @@ static uint16_t read_value_from_line(char * read_buf, uint32_t linemax, static FILE * changed_worldstate_file(char * path); /* Attempt to read the server's worldstate file as representation of the game - * world in a hard-coded serialization format. Returns 1 on success and 0 if the + * world in a hard-coded serialization format. Returns 1 on success, or 0 if the * out file wasn't read for supposedly not having changed since a last - * read_world() call. + * read_worldstate() call. * - * map_center() is triggered by either, the first successful read_world() (thus - * on client start), or on turn 1 (thus on world start). + * map_center() is triggered by either, the first successful read_worldstate() + * (thus on client start), or on turn 1 (thus on world start). */ -static uint8_t read_world(); +static uint8_t read_worldstate(); /* If "last_server_answer_time" is too old, send a PING to the server; or, if a * previous PING has not sparked any answer after a while, abort the client. @@ -98,7 +103,7 @@ static void read_inventory(char * read_buf, uint32_t linemax, FILE * file) break; } int old_size = 0; - if (NULL != world.player_inventory) + if (world.player_inventory) { old_size = strlen(world.player_inventory); } @@ -146,7 +151,7 @@ static void read_log(char * read_buf, uint32_t linemax, FILE * file) while (try_fgets(read_buf, linemax + 1, file, __func__)) { int old_size = 0; - if (NULL != world.log) + if (world.log) { old_size = strlen(world.log); } @@ -194,7 +199,7 @@ static FILE * changed_worldstate_file(char * path) -static uint8_t read_world() +static uint8_t read_worldstate() { char * path = "server/worldstate"; char * quit_msg = "No worldstate file found to read. Server may be down."; @@ -232,9 +237,10 @@ static void test_ping_pong(time_t last_server_answer_time) { static uint8_t ping_sent = 0; time_t now = time(0); - if (ping_sent && last_server_answer_time > now - 3) - { - ping_sent = 0; + if (ping_sent && last_server_answer_time > now - 3) /* Re-set if last */ + { /* ping was answered */ + ping_sent = 0; /* with server */ + return; /* activity. */ } if (!ping_sent && last_server_answer_time < now - 3) { @@ -267,7 +273,7 @@ static void test_server_activity(time_t * last_server_answer_time) extern void send(char * msg) { uint32_t msg_size = strlen(msg) + 1; - char * err = "send() tries to send message larger than PIPE_BUF bytes."; + char * err = "send() tried to send message larger than PIPE_BUF bytes."; exit_err(msg_size > PIPE_BUF, err); try_fwrite(msg, strlen(msg), 1, world.file_server_in, __func__); try_fputc('\n', world.file_server_in, __func__); @@ -278,8 +284,8 @@ extern void send(char * msg) extern char * io_loop() { - world.halfdelay = 1; /* Ensures read_world() is only called 10 */ - halfdelay(world.halfdelay); /* times a second during user inactivity. */ + world.halfdelay = 1; /* Ensures read_worldstate() is only called */ + halfdelay(world.halfdelay); /* 10 times a second during user inactivity. */ uint8_t change_in_client = 0; uint16_t last_focused_turn = world.turn; time_t last_server_answer_time = time(0); @@ -293,7 +299,7 @@ extern char * io_loop() world.winch = 0; change_in_client++; } - if (change_in_client || read_world()) + if (change_in_client || read_worldstate()) { if (world.turn != last_focused_turn && world.focus_each_turn) {