Program Listing for File gui_time_manip.c¶
↰ Return to documentation for file (server/game_events/gui_time_manip.c)
#include "client/client.h"
#include "handler.h"
#include "names.h"
bool gui_time_get_handler(server_t *srv, const event_t *event)
{
client_state_t *cs = event_get_client(srv, event);
if (cs == nullptr)
return false;
if (event->arg_count != 1)
return append_to_output(srv, cs, "sbp\n"), true;
vappend_to_output(srv, cs, GUI_TIME_GET " %hu\n", srv->frequency);
return true;
}
bool gui_time_set_handler(server_t *srv, const event_t *event)
{
client_state_t *cs = event_get_client(srv, event);
char *arg = event->command[1];
char *endptr;
long freq;
if (cs == nullptr)
return false;
if (arg == nullptr)
return append_to_output(srv, cs, "sbp\n"), true;
if (event->arg_count != 2)
return append_to_output(srv, cs, "sbp\n"), true;
freq = strtol(arg, &endptr, 10);
if (endptr == arg || *endptr != '\0'
|| freq < 0 || freq > 10'000)
return append_to_output(srv, cs, "sbp\n"), true;
srv->frequency = freq;
vappend_to_output(srv, cs, GUI_TIME_SET " %hu \n", srv->frequency);
return true;
}