Continue uncrustifying

This commit is contained in:
Gergely Polonkai 2016-06-22 18:12:57 +02:00
parent c68b577fb3
commit 73b7c3db39
15 changed files with 1464 additions and 1380 deletions

View File

@ -101,8 +101,9 @@ wmud_config_init(ConfigData **config_data, GError **err)
GError *in_err = NULL; GError *in_err = NULL;
gchar *pos; gchar *pos;
if (!config_data) if (!config_data) {
return FALSE; return FALSE;
}
if (*config_data) { if (*config_data) {
g_clear_error(err); g_clear_error(err);

View File

@ -105,10 +105,11 @@ wmud_db_load_players(GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading players"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading players");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -192,10 +193,11 @@ wmud_db_save_player(WmudPlayer *player, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Saving player"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Saving player");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -277,10 +279,11 @@ wmud_db_load_planes(GSList **planes, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading planes"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading planes");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -329,10 +332,11 @@ wmud_db_load_planets(GSList **planets, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading planets"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading planets");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -383,10 +387,11 @@ wmud_db_load_directions(GSList **directions, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading directions"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading directions");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -450,10 +455,11 @@ wmud_db_load_areas(GSList **areas, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading areas"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading areas");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -501,10 +507,11 @@ wmud_db_load_rooms(GSList **rooms, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading rooms"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading rooms");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -564,10 +571,11 @@ wmud_db_load_exits(GSList **exits, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading exits"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading exits");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -623,10 +631,11 @@ wmud_db_load_planet_planes(GSList **planet_planes, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
"Loading planet<->plane associations"); "Loading planet<->plane associations");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }
@ -677,10 +686,11 @@ wmud_db_load_menu(GSList **menu_items, GError **err)
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading menu items"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading menu items");
if (dbh == NULL) { if (dbh == NULL) {
if (err) if (err) {
g_set_error(err, g_set_error(err,
WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT, WMUD_DB_ERROR, WMUD_DB_ERROR_NOINIT,
"Database backend not initialized"); "Database backend not initialized");
}
return FALSE; return FALSE;
} }

View File

@ -120,29 +120,32 @@ recv_client(WmudClient *client)
sloc = -1; sloc = -1;
if ((r < n) && r) { if ((r < n) && r) {
if (wmud_client_get_buffer_length(client) > 0) if (wmud_client_get_buffer_length(client) > 0) {
g_string_append_len(wmud_client_get_buffer(client), g_string_append_len(wmud_client_get_buffer(client),
buf2, buf2,
(r - buf2)); (r - buf2));
else } else {
g_string_overwrite_len( g_string_overwrite_len(
wmud_client_get_buffer(client), wmud_client_get_buffer(client),
0, 0,
buf2, buf2,
(r - buf2)); (r - buf2));
}
buf2 = r; buf2 = r;
} else if (n) { } else if (n) {
if (wmud_client_get_buffer_length(client) > 0) if (wmud_client_get_buffer_length(client) > 0) {
g_string_append_len( g_string_append_len(
wmud_client_get_buffer(client), wmud_client_get_buffer(client),
buf2, buf2,
(n - buf2)); (n - buf2));
else } else {
g_string_overwrite_len( g_string_overwrite_len(
wmud_client_get_buffer(client), wmud_client_get_buffer(client),
0, 0,
buf2, buf2,
(n - buf2)); (n - buf2));
}
buf2 = n; buf2 = n;
} }
@ -151,8 +154,9 @@ recv_client(WmudClient *client)
guchar c = (wmud_client_get_buffer(client)->str)[i]; guchar c = (wmud_client_get_buffer(client)->str)[i];
if ((c >= 240) || (c == 1)) { if ((c >= 240) || (c == 1)) {
if (sloc == -1) if (sloc == -1) {
sloc = i; sloc = i;
}
} else { } else {
if (sloc != -1) { if (sloc != -1) {
g_string_erase( g_string_erase(
@ -164,44 +168,53 @@ recv_client(WmudClient *client)
} }
} }
if (sloc != -1) if (sloc != -1) {
g_string_erase(wmud_client_get_buffer(client), sloc, -1); g_string_erase(wmud_client_get_buffer(client), sloc, -1);
}
switch (wmud_client_get_state(client)) switch (wmud_client_get_state(client)) {
{
case WMUD_CLIENT_STATE_FRESH: case WMUD_CLIENT_STATE_FRESH:
state_fresh(client); state_fresh(client);
break; break;
case WMUD_CLIENT_STATE_PASSWAIT: case WMUD_CLIENT_STATE_PASSWAIT:
state_passwait(client); state_passwait(client);
break; break;
case WMUD_CLIENT_STATE_MENU: case WMUD_CLIENT_STATE_MENU:
state_menu(client); state_menu(client);
break; break;
case WMUD_CLIENT_STATE_INGAME: case WMUD_CLIENT_STATE_INGAME:
wmud_interpret_game_command(client); wmud_interpret_game_command(client);
break; break;
case WMUD_CLIENT_STATE_YESNO: case WMUD_CLIENT_STATE_YESNO:
state_yesno(client); state_yesno(client);
break; break;
case WMUD_CLIENT_STATE_REGISTERING: case WMUD_CLIENT_STATE_REGISTERING:
state_registering(client); state_registering(client);
break; break;
case WMUD_CLIENT_STATE_REGEMAIL_CONFIRM: case WMUD_CLIENT_STATE_REGEMAIL_CONFIRM:
state_regemail_confirm(client); state_regemail_confirm(client);
break; break;
} }
g_string_erase(wmud_client_get_buffer(client), 0, -1); g_string_erase(wmud_client_get_buffer(client), 0, -1);
for (; ((*buf2 == '\r') || (*buf2 == '\n')) && *buf2; buf2++); for (; ((*buf2 == '\r') || (*buf2 == '\n')) && *buf2; buf2++);
if (!*buf2) if (!*buf2) {
break; break;
}
} else { } else {
if (wmud_client_get_buffer_length(client) > 0) if (wmud_client_get_buffer_length(client) > 0) {
g_string_append(wmud_client_get_buffer(client), buf2); g_string_append(wmud_client_get_buffer(client), buf2);
else } else {
g_string_overwrite(wmud_client_get_buffer(client), 0, buf2); g_string_overwrite(wmud_client_get_buffer(client), 0, buf2);
}
break; break;
} }
@ -256,11 +269,12 @@ game_source_callback(GSocket *socket,
g_object_unref(addr); g_object_unref(addr);
g_object_unref(remote_addr); g_object_unref(remote_addr);
} else { } else {
if (err) if (err) {
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "New game connection. The remote address is unknown. This is a bug. Message from upper level: %s", err->message); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "New game connection. The remote address is unknown. This is a bug. Message from upper level: %s", err->message);
else } else {
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "New game connection. The remote address is unknown. This is a bug."); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "New game connection. The remote address is unknown. This is a bug.");
} }
}
g_clear_error(&err); g_clear_error(&err);
wmud_client_send(WMUD_CLIENT(client), "By what name shall we call you? "); wmud_client_send(WMUD_CLIENT(client), "By what name shall we call you? ");
@ -310,8 +324,8 @@ wmud_networking_init(guint port_number, GMainContext *game_context, GSList *menu
g_socket_set_listen_backlog(game_socket6, 10); g_socket_set_listen_backlog(game_socket6, 10);
result = result =
g_socket_bind(game_socket6, address, TRUE, NULL) g_socket_bind(game_socket6, address, TRUE, NULL) &&
&& g_socket_listen(game_socket6, NULL); g_socket_listen(game_socket6, NULL);
g_object_unref(address); g_object_unref(address);
@ -322,8 +336,9 @@ wmud_networking_init(guint port_number, GMainContext *game_context, GSList *menu
return FALSE; return FALSE;
} }
if (g_socket_speaks_ipv4(game_socket6)) if (g_socket_speaks_ipv4(game_socket6)) {
need_ipv4_socket = FALSE; need_ipv4_socket = FALSE;
}
game_net_source6 = g_socket_create_source(game_socket6, G_IO_IN, NULL); game_net_source6 = g_socket_create_source(game_socket6, G_IO_IN, NULL);
@ -344,16 +359,17 @@ wmud_networking_init(guint port_number, GMainContext *game_context, GSList *menu
g_socket_set_listen_backlog(game_socket4, 10); g_socket_set_listen_backlog(game_socket4, 10);
result = g_socket_bind(game_socket4, address, TRUE, NULL) result = g_socket_bind(game_socket4, address, TRUE, NULL) &&
&& g_socket_listen(game_socket4, NULL); g_socket_listen(game_socket4, NULL);
g_object_unref(address); g_object_unref(address);
if (!result) { if (!result) {
g_object_unref(game_socket4); g_object_unref(game_socket4);
if (!game_socket6) if (!game_socket6) {
g_object_unref(game_socket6); g_object_unref(game_socket6);
}
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "Unable to create listener IPv4 socket!\n"); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "Unable to create listener IPv4 socket!\n");
@ -364,11 +380,12 @@ wmud_networking_init(guint port_number, GMainContext *game_context, GSList *menu
g_socket_listener_add_socket(game_listener, game_socket4, NULL, NULL); g_socket_listener_add_socket(game_listener, game_socket4, NULL, NULL);
} }
} else { } else {
if (game_socket6 != NULL) if (game_socket6 != NULL) {
g_clear_error(&in_err); g_clear_error(&in_err);
else } else {
return FALSE; return FALSE;
} }
}
accept_data = g_new(struct AcceptData, 1); accept_data = g_new(struct AcceptData, 1);
accept_data->listener = game_listener; accept_data->listener = game_listener;
@ -524,29 +541,32 @@ state_menu(WmudClient *client)
{ {
gchar *menu_command; gchar *menu_command;
if ((menu_command = wmud_menu_get_command_by_menuchar(*(wmud_client_get_buffer(client)->str), game_menu)) != NULL) if ((menu_command = wmud_menu_get_command_by_menuchar(*(wmud_client_get_buffer(client)->str), game_menu)) != NULL) {
wmud_menu_execute_command(client, menu_command); wmud_menu_execute_command(client, menu_command);
else } else {
wmud_client_send(client, "Unknown menu command.\r\n"); wmud_client_send(client, "Unknown menu command.\r\n");
} }
}
static void static void
state_yesno(WmudClient *client) state_yesno(WmudClient *client)
{ {
if (g_ascii_strcasecmp(wmud_client_get_buffer(client)->str, "y") == 0) if (g_ascii_strcasecmp(wmud_client_get_buffer(client)->str, "y") == 0) {
(wmud_client_get_yesno_callback(client))(client, TRUE); (wmud_client_get_yesno_callback(client))(client, TRUE);
else if (g_ascii_strcasecmp(wmud_client_get_buffer(client)->str, "n") == 0) } else if (g_ascii_strcasecmp(wmud_client_get_buffer(client)->str, "n") == 0) {
(wmud_client_get_yesno_callback(client))(client, FALSE); (wmud_client_get_yesno_callback(client))(client, FALSE);
else } else {
wmud_client_send(client, "Please enter a 'Y' or 'N'" wmud_client_send(client, "Please enter a 'Y' or 'N'"
" character: "); " character: ");
} }
}
static void static void
state_registering(WmudClient *client) state_registering(WmudClient *client)
{ {
if (!*(wmud_client_get_buffer(client)->str) && (wmud_client_get_bademail(client) == TRUE)) if (!*(wmud_client_get_buffer(client)->str) && (wmud_client_get_bademail(client) == TRUE)) {
remove_client(client, TRUE); remove_client(client, TRUE);
}
if (g_regex_match(email_regex, wmud_client_get_buffer(client)->str, 0, NULL)) { if (g_regex_match(email_regex, wmud_client_get_buffer(client)->str, 0, NULL)) {
wmud_player_set_email(wmud_client_get_player(client), wmud_client_get_buffer(client)->str); wmud_player_set_email(wmud_client_get_player(client), wmud_client_get_buffer(client)->str);
@ -567,10 +587,11 @@ state_registering(WmudClient *client)
" it now: ", " it now: ",
active_config->admin_email); active_config->admin_email);
if (*(wmud_client_get_buffer(client)->str)) if (*(wmud_client_get_buffer(client)->str)) {
wmud_client_set_bademail(client, TRUE); wmud_client_set_bademail(client, TRUE);
} }
} }
}
static void static void
state_regemail_confirm(WmudClient *client) state_regemail_confirm(WmudClient *client)
@ -594,4 +615,3 @@ state_regemail_confirm(WmudClient *client)
wmud_client_set_state(client, WMUD_CLIENT_STATE_REGISTERING); wmud_client_set_state(client, WMUD_CLIENT_STATE_REGISTERING);
} }
} }

View File

@ -68,14 +68,17 @@ check_direction_dups2(wmudDirection *dir1, wmudDirection *dir2)
{ {
gint check; gint check;
if ((check = g_ascii_strcasecmp(dir1->short_name, dir2->short_name)) != 0) if ((check = g_ascii_strcasecmp(dir1->short_name, dir2->short_name)) != 0) {
return check; return check;
}
if ((check = g_ascii_strcasecmp(dir1->name, dir2->name)) != 0) if ((check = g_ascii_strcasecmp(dir1->name, dir2->name)) != 0) {
return check; return check;
}
if ((check = g_ascii_strcasecmp(dir1->short_name, dir2->name)) != 0) if ((check = g_ascii_strcasecmp(dir1->short_name, dir2->name)) != 0) {
return check; return check;
}
return g_ascii_strcasecmp(dir1->name, dir2->short_name); return g_ascii_strcasecmp(dir1->name, dir2->short_name);
} }
@ -88,9 +91,10 @@ check_direction_dups1(wmudDirection *dir, struct findData *find_data)
find_data->last = dir->name; find_data->last = dir->name;
} }
if (g_slist_find_custom(find_data->list, dir, (GCompareFunc)check_direction_dups2)) if (g_slist_find_custom(find_data->list, dir, (GCompareFunc)check_direction_dups2)) {
find_data->found++; find_data->found++;
} }
}
static void static void
check_direction_command(wmudDirection *dir, gboolean *found) check_direction_command(wmudDirection *dir, gboolean *found)
@ -210,9 +214,10 @@ wmud_interpret_game_command(WmudClient *client)
} }
a = end; a = end;
if (((*a == '"') || (*a == '\'')) && str_delim) if (((*a == '"') || (*a == '\'')) && str_delim) {
a++; a++;
} }
}
if (str_delim) { if (str_delim) {
wmud_client_send(client, "You should close quotes of any kind, like %c, shouldn't you?\r\n", str_delim); wmud_client_send(client, "You should close quotes of any kind, like %c, shouldn't you?\r\n", str_delim);
@ -255,17 +260,22 @@ wmud_interpret_game_command(WmudClient *client)
switch (random_number(1, 3)) { switch (random_number(1, 3)) {
case 1: case 1:
wmud_client_send(client, "Huh?\r\n"); wmud_client_send(client, "Huh?\r\n");
break; break;
case 2: case 2:
wmud_client_send(client, "What?\r\n"); wmud_client_send(client, "What?\r\n");
break; break;
case 3: case 3:
wmud_client_send(client, "I can hardly understand you...\r\n"); wmud_client_send(client, "I can hardly understand you...\r\n");
break; break;
} }
break; break;
case 1: case 1:
((wmudCommand *)(matches->data))->commandFunc(client, ((GString *)(command_parts->data))->str, command_parts->next); ((wmudCommand *)(matches->data))->commandFunc(client, ((GString *)(command_parts->data))->str, command_parts->next);
break; break;
default: default:
wmud_client_send(client, "This command could mean several things, please try a more exact form!\r\n"); wmud_client_send(client, "This command could mean several things, please try a more exact form!\r\n");

View File

@ -73,8 +73,9 @@ wmud_random_string(gint len)
/* Include only printable characters, but exclude $ because of /* Include only printable characters, but exclude $ because of
* salt generation, and space to avoid misunderstanding in the * salt generation, and space to avoid misunderstanding in the
* random generated passwords */ * random generated passwords */
while (!g_ascii_isprint(c) || (c == '$') || (c == ' ') || (c == '\t')) while (!g_ascii_isprint(c) || (c == '$') || (c == ' ') || (c == '\t')) {
c = random_number(1, 127); c = random_number(1, 127);
}
ret[i] = c; ret[i] = c;
} }
@ -97,8 +98,9 @@ void
*/ */
debug_context(char *file, int line) debug_context(char *file, int line)
{ {
if (debug_context_loc.file != NULL) if (debug_context_loc.file != NULL) {
g_free(debug_context_loc.file); g_free(debug_context_loc.file);
}
debug_context_loc.file = g_strdup(file); debug_context_loc.file = g_strdup(file);
debug_context_loc.line = line; debug_context_loc.line = line;

View File

@ -130,8 +130,9 @@ wmud_smtp_read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
struct WriteThis *pooh = (struct WriteThis *)userp; struct WriteThis *pooh = (struct WriteThis *)userp;
const char *data; const char *data;
if (size * nmemb < 1) if (size * nmemb < 1) {
return 0; return 0;
}
data = text[pooh->counter]; data = text[pooh->counter];
@ -139,6 +140,7 @@ wmud_smtp_read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
size_t len = strlen(data); size_t len = strlen(data);
memcpy(ptr, data, len); memcpy(ptr, data, len);
pooh->counter++; pooh->counter++;
return len; return len;
} }
@ -158,11 +160,13 @@ wmud_maintenance_init(void)
curl_global_init(CURL_GLOBAL_DEFAULT); curl_global_init(CURL_GLOBAL_DEFAULT);
if (!(curl = curl_easy_init())) if (!(curl = curl_easy_init())) {
g_error("Could not initialize the CURL library!"); g_error("Could not initialize the CURL library!");
}
if (!(mcurl = curl_multi_init())) if (!(mcurl = curl_multi_init())) {
g_error("Could not initialize the CURL library!"); g_error("Could not initialize the CURL library!");
}
smtp_server_real = g_strconcat("smtp://", active_config->smtp_server, NULL); smtp_server_real = g_strconcat("smtp://", active_config->smtp_server, NULL);
curl_easy_setopt(curl, CURLOPT_URL, smtp_server_real); curl_easy_setopt(curl, CURLOPT_URL, smtp_server_real);

View File

@ -62,17 +62,21 @@ wmud_menu_items_check(GSList *menu_items, GError **err)
void void
menu_item_free(wmudMenu *menu_item) menu_item_free(wmudMenu *menu_item)
{ {
if (menu_item->text) if (menu_item->text) {
g_free(menu_item->text); g_free(menu_item->text);
}
if (menu_item->display_text) if (menu_item->display_text) {
g_free(menu_item->display_text); g_free(menu_item->display_text);
}
if (menu_item->display_text_ansi) if (menu_item->display_text_ansi) {
g_free(menu_item->display_text_ansi); g_free(menu_item->display_text_ansi);
}
if (menu_item->func) if (menu_item->func) {
g_free(menu_item->func); g_free(menu_item->func);
}
g_free(menu_item); g_free(menu_item);
} }
@ -80,8 +84,7 @@ menu_item_free(wmudMenu *menu_item)
void void
wmud_menu_items_free(GSList **menu_items) wmud_menu_items_free(GSList **menu_items)
{ {
if (menu_items) if (menu_items) {
{
#if GLIB_CHECK_VERSION(2, 28, 0) #if GLIB_CHECK_VERSION(2, 28, 0)
g_slist_free_full(*menu_items, (GDestroyNotify)menu_item_free); g_slist_free_full(*menu_items, (GDestroyNotify)menu_item_free);
#else #else
@ -104,11 +107,13 @@ menu_item_prepare(wmudMenu *item, GHashTable *cmdtable)
g_debug("Preparing menu item %s", item->text); g_debug("Preparing menu item %s", item->text);
m1 = g_ascii_tolower(item->menuchar); m1 = g_ascii_tolower(item->menuchar);
m2 = g_ascii_toupper(item->menuchar); m2 = g_ascii_toupper(item->menuchar);
for (a = item->text; *a; a++) for (a = item->text; *a; a++) {
if ((*a == m1) || (*a == m2)) { if ((*a == m1) || (*a == m2)) {
found = a; found = a;
break; break;
} }
}
if (found) { if (found) {
gchar *tmp; gchar *tmp;
@ -227,8 +232,9 @@ wmud_menu_init(GSList **menu)
return FALSE; return FALSE;
} }
if (*menu) if (*menu) {
wmud_menu_items_free(menu); wmud_menu_items_free(menu);
}
*menu = menu_items; *menu = menu_items;
@ -260,8 +266,9 @@ wmud_menu_init(GSList **menu)
static gint static gint
find_by_menuchar(wmudMenu *item, gchar *menuchar) find_by_menuchar(wmudMenu *item, gchar *menuchar)
{ {
if (g_ascii_toupper(*menuchar) == g_ascii_toupper(item->menuchar)) if (g_ascii_toupper(*menuchar) == g_ascii_toupper(item->menuchar)) {
return 0; return 0;
}
return 1; return 1;
} }
@ -271,8 +278,9 @@ wmud_menu_get_command_by_menuchar(gchar menuchar, GSList *game_menu)
{ {
GSList *item; GSList *item;
if ((item = g_slist_find_custom(game_menu, &menuchar, (GCompareFunc)find_by_menuchar)) != NULL) if ((item = g_slist_find_custom(game_menu, &menuchar, (GCompareFunc)find_by_menuchar)) != NULL) {
return ((wmudMenu *)(item->data))->func; return ((wmudMenu *)(item->data))->func;
}
return NULL; return NULL;
} }
@ -282,11 +290,12 @@ wmud_menu_execute_command(WmudClient *client, gchar *command)
{ {
wmudMenuCommandFunc func; wmudMenuCommandFunc func;
if ((func = g_hash_table_lookup(mcmd_table, command)) == NULL) if ((func = g_hash_table_lookup(mcmd_table, command)) == NULL) {
wmud_client_send(client, "Unknown menu command.\r\n"); wmud_client_send(client, "Unknown menu command.\r\n");
else } else {
func(client); func(client);
} }
}
void void
send_menu_item(wmudMenu *item, WmudClient *client) send_menu_item(wmudMenu *item, WmudClient *client)
@ -303,4 +312,3 @@ wmud_menu_present(WmudClient *client)
/* TODO: send menu prologue */ /* TODO: send menu prologue */
} }

View File

@ -62,10 +62,9 @@ wmud_player_exists(gchar *player_name)
{ {
GSList *player_elem; GSList *player_elem;
if ((player_elem = g_slist_find_custom(players, player_name, (GCompareFunc)find_player_by_name)) == NULL) if ((player_elem = g_slist_find_custom(players, player_name, (GCompareFunc)find_player_by_name)) == NULL) {
return NULL; return NULL;
return player_elem->data;
} }
return player_elem->data;
}

View File

@ -44,14 +44,15 @@ wmud_texts_init(void)
guint64 tfs; guint64 tfs;
gchar *contents; gchar *contents;
gsize length; gsize length;
gchar *text_file = g_strconcat(texts_dir, text_files[i], NULL); gchar *text_file = g_strconcat(texts_dir, text_files[i], NULL);
g_debug("Loading text file %s from %s", text_files[i], text_file); g_debug("Loading text file %s from %s", text_files[i], text_file);
tf = g_file_new_for_path(text_file); tf = g_file_new_for_path(text_file);
tfi = g_file_query_info(tf, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, &err); tfi = g_file_query_info(tf, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, &err);
if (err) { if (err) {
g_warning("Error loading %s: %s", text_files[i], err->message); g_warning("Error loading %s: %s", text_files[i], err->message);
continue; continue;
} }
@ -64,6 +65,7 @@ wmud_texts_init(void)
if (!g_file_load_contents(tf, NULL, &contents, &length, NULL, &err)) { if (!g_file_load_contents(tf, NULL, &contents, &length, NULL, &err)) {
g_object_unref(tfi); g_object_unref(tfi);
g_object_unref(tf); g_object_unref(tf);
continue; continue;
} }
@ -81,5 +83,6 @@ void
wmud_text_send_to_client(gchar *text_name, WmudClient *client) wmud_text_send_to_client(gchar *text_name, WmudClient *client)
{ {
gchar *text = g_hash_table_lookup(text_table, text_name); gchar *text = g_hash_table_lookup(text_table, text_name);
wmud_client_send(client, "%s\r\n", text); wmud_client_send(client, "%s\r\n", text);
} }

View File

@ -44,8 +44,7 @@ static guint signals[SIG_LAST] = { 0 };
#define WMUD_CLIENT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_CLIENT, WmudClientPrivate)) #define WMUD_CLIENT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_CLIENT, WmudClientPrivate))
struct _WmudClientPrivate struct _WmudClientPrivate {
{
GSocket *socket; GSocket *socket;
GSource *socket_source; GSource *socket_source;
GString *buffer; GString *buffer;
@ -83,7 +82,8 @@ wmud_client_finalize(GObject *gobject)
G_OBJECT_CLASS(wmud_client_parent_class)->finalize(gobject); G_OBJECT_CLASS(wmud_client_parent_class)->finalize(gobject);
} }
static void net_recv(WmudClient *self) static void
net_recv(WmudClient *self)
{ {
self->priv->last_recv = time(NULL); self->priv->last_recv = time(NULL);
} }
@ -171,10 +171,11 @@ wmud_client_init(WmudClient *self)
static gboolean static gboolean
net_emitter(GSocket *client_socket, GIOCondition condition, WmudClient *self) net_emitter(GSocket *client_socket, GIOCondition condition, WmudClient *self)
{ {
if (condition & G_IO_HUP) if (condition & G_IO_HUP) {
g_signal_emit_by_name(self, "net-close", G_TYPE_NONE); g_signal_emit_by_name(self, "net-close", G_TYPE_NONE);
else if ((condition & G_IO_IN) || (condition & G_IO_PRI)) } else if ((condition & G_IO_IN) || (condition & G_IO_PRI)) {
g_signal_emit_by_name(self, "net-recv", G_TYPE_NONE); g_signal_emit_by_name(self, "net-recv", G_TYPE_NONE);
}
return TRUE; return TRUE;
} }
@ -242,14 +243,16 @@ wmud_client_send(WmudClient *self, const gchar *fmt, ...)
void void
wmud_client_close(WmudClient *self, gboolean send_goodbye) wmud_client_close(WmudClient *self, gboolean send_goodbye)
{ {
if (send_goodbye) if (send_goodbye) {
wmud_client_send(self, "\r\nHave a nice real-world day!\r\n\r\n"); wmud_client_send(self, "\r\nHave a nice real-world day!\r\n\r\n");
}
g_socket_shutdown(self->priv->socket, TRUE, TRUE, NULL); g_socket_shutdown(self->priv->socket, TRUE, TRUE, NULL);
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Connection closed."); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Connection closed.");
if (self->priv->player && !wmud_player_get_registered(self->priv->player)) if (self->priv->player && !wmud_player_get_registered(self->priv->player)) {
g_object_unref(self->priv->player); g_object_unref(self->priv->player);
}
g_object_unref(self); g_object_unref(self);
} }
@ -352,6 +355,5 @@ wmud_client_set_context(WmudClient *self, GMainContext *context)
guint32 guint32
wmud_client_get_last_recv_age(WmudClient *self) wmud_client_get_last_recv_age(WmudClient *self)
{ {
return (time(NULL) - self->priv->last_recv); return time(NULL) - self->priv->last_recv;
} }

View File

@ -24,8 +24,7 @@
#define WMUD_PLAYER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_PLAYER, WmudPlayerPrivate)) #define WMUD_PLAYER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_PLAYER, WmudPlayerPrivate))
struct _WmudPlayerPrivate struct _WmudPlayerPrivate {
{
guint32 id; guint32 id;
gchar *player_name; gchar *player_name;
gchar *cpassword; gchar *cpassword;
@ -39,8 +38,6 @@ G_DEFINE_TYPE(WmudPlayer, wmud_player, G_TYPE_OBJECT);
static void static void
wmud_player_dispose(GObject *gobject) wmud_player_dispose(GObject *gobject)
{ {
//WmudPlayer *self = WMUD_PLAYER(gobject);
G_OBJECT_CLASS(wmud_player_parent_class)->dispose(gobject); G_OBJECT_CLASS(wmud_player_parent_class)->dispose(gobject);
} }
@ -49,14 +46,17 @@ wmud_player_finalize(GObject *gobject)
{ {
WmudPlayer *self = WMUD_PLAYER(gobject); WmudPlayer *self = WMUD_PLAYER(gobject);
if (self->priv->player_name) if (self->priv->player_name) {
g_free(self->priv->player_name); g_free(self->priv->player_name);
}
if (self->priv->cpassword) if (self->priv->cpassword) {
g_free(self->priv->cpassword); g_free(self->priv->cpassword);
}
if (self->priv->email) if (self->priv->email) {
g_free(self->priv->email); g_free(self->priv->email);
}
G_OBJECT_CLASS(wmud_player_parent_class)->finalize(gobject); G_OBJECT_CLASS(wmud_player_parent_class)->finalize(gobject);
} }
@ -87,8 +87,9 @@ wmud_player_new(void)
void void
wmud_player_set_cpassword(WmudPlayer *self, const gchar *cpassword) wmud_player_set_cpassword(WmudPlayer *self, const gchar *cpassword)
{ {
if (self->priv->cpassword) if (self->priv->cpassword) {
g_free(self->priv->cpassword); g_free(self->priv->cpassword);
}
self->priv->cpassword = g_strdup(cpassword); self->priv->cpassword = g_strdup(cpassword);
} }
@ -144,8 +145,9 @@ wmud_player_get_fail_count(WmudPlayer *self)
void void
wmud_player_set_email(WmudPlayer *self, const gchar *email) wmud_player_set_email(WmudPlayer *self, const gchar *email)
{ {
if (self->priv->email) if (self->priv->email) {
g_free(self->priv->email); g_free(self->priv->email);
}
self->priv->email = g_strdup(email); self->priv->email = g_strdup(email);
} }
@ -181,8 +183,9 @@ wmud_player_dup(WmudPlayer *self)
{ {
WmudPlayer *new_player; WmudPlayer *new_player;
if (!self) if (!self) {
return NULL; return NULL;
}
new_player = wmud_player_new(); new_player = wmud_player_new();
new_player->priv->id = self->priv->id; new_player->priv->id = self->priv->id;
@ -206,6 +209,5 @@ wmud_player_dup(WmudPlayer *self)
gboolean gboolean
wmud_player_password_valid(WmudPlayer *player, const gchar *password) wmud_player_password_valid(WmudPlayer *player, const gchar *password)
{ {
return (g_strcmp0(crypt(password, player->priv->cpassword), player->priv->cpassword) == 0); return g_strcmp0(crypt(password, player->priv->cpassword), player->priv->cpassword) == 0;
} }

View File

@ -30,8 +30,7 @@ G_DEFINE_TYPE(WmudWorld, wmud_world, G_TYPE_OBJECT);
#define WMUD_WORLD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_WORLD, WmudWorldPrivate)) #define WMUD_WORLD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_WORLD, WmudWorldPrivate))
struct _WmudWorldPrivate struct _WmudWorldPrivate {
{
}; };
static void static void

View File

@ -68,7 +68,7 @@ wmud_world_error_quark()
static gint static gint
check_plane_dups2(wmudPlane *plane, gchar *name) check_plane_dups2(wmudPlane *plane, gchar *name)
{ {
return (g_ascii_strcasecmp(plane->name, name)); return g_ascii_strcasecmp(plane->name, name);
} }
static void static void
@ -79,9 +79,10 @@ check_plane_dups1(wmudPlane *plane, struct findData *find_data)
find_data->found = (find_data->found > 1) ? find_data->found : 0; find_data->found = (find_data->found > 1) ? find_data->found : 0;
} }
if (g_slist_find_custom(find_data->list, plane->name, (GCompareFunc)check_plane_dups2)) if (g_slist_find_custom(find_data->list, plane->name, (GCompareFunc)check_plane_dups2)) {
find_data->found++; find_data->found++;
} }
}
/** /**
* wmud_world_check_planes: * wmud_world_check_planes:
@ -101,16 +102,17 @@ wmud_world_check_planes(GSList *planes, GError **err)
g_slist_foreach(planes, (GFunc)check_plane_dups1, &find_data); g_slist_foreach(planes, (GFunc)check_plane_dups1, &find_data);
if (find_data.found > 1) if (find_data.found > 1) {
g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPPLANE, "Duplicate plane names found. Please check your database!\n"); g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPPLANE, "Duplicate plane names found. Please check your database!\n");
}
return (find_data.found < 2); return find_data.found < 2;
} }
static gint static gint
check_planet_dups2(wmudPlanet *planet, gchar *name) check_planet_dups2(wmudPlanet *planet, gchar *name)
{ {
return (g_ascii_strcasecmp(planet->name, name)); return g_ascii_strcasecmp(planet->name, name);
} }
static void static void
@ -121,9 +123,10 @@ check_planet_dups1(wmudPlanet *planet, struct findData *find_data)
find_data->found = (find_data->found > 1) ? find_data->found : 0; find_data->found = (find_data->found > 1) ? find_data->found : 0;
} }
if (g_slist_find_custom(find_data->list, planet->name, (GCompareFunc)check_planet_dups2)) if (g_slist_find_custom(find_data->list, planet->name, (GCompareFunc)check_planet_dups2)) {
find_data->found++; find_data->found++;
} }
}
/** /**
* wmud_world_check_planets: * wmud_world_check_planets:
@ -143,16 +146,17 @@ wmud_world_check_planets(GSList *planets, GError **err)
g_slist_foreach(planets, (GFunc)check_planet_dups1, &find_data); g_slist_foreach(planets, (GFunc)check_planet_dups1, &find_data);
if (find_data.found > 1) if (find_data.found > 1) {
g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPPLANET, "Duplicate planet names found. Please check your database!\n"); g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPPLANET, "Duplicate planet names found. Please check your database!\n");
}
return (find_data.found < 2); return find_data.found < 2;
} }
static gint static gint
check_area_dups2(wmudArea *area, gchar *name) check_area_dups2(wmudArea *area, gchar *name)
{ {
return (g_ascii_strcasecmp(area->name, name)); return g_ascii_strcasecmp(area->name, name);
} }
static void static void
@ -163,9 +167,10 @@ check_area_dups1(wmudArea *area, struct findData *find_data)
find_data->found = (find_data->found > 1) ? find_data->found : 0; find_data->found = (find_data->found > 1) ? find_data->found : 0;
} }
if (g_slist_find_custom(find_data->list, area->name, (GCompareFunc)check_area_dups2)) if (g_slist_find_custom(find_data->list, area->name, (GCompareFunc)check_area_dups2)) {
find_data->found++; find_data->found++;
} }
}
/** /**
* wmud_world_check_areas: * wmud_world_check_areas:
@ -185,10 +190,11 @@ wmud_world_check_areas(GSList *areas, GError **err)
g_slist_foreach(areas, (GFunc)check_area_dups1, &find_data); g_slist_foreach(areas, (GFunc)check_area_dups1, &find_data);
if (find_data.found > 1) if (find_data.found > 1) {
g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPAREA, "Duplicate area names found. Please check your database!"); g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPAREA, "Duplicate area names found. Please check your database!");
}
return (find_data.found < 2); return find_data.found < 2;
} }
static gint static gint
@ -207,11 +213,12 @@ static void
exit_sanity_check(wmudExit *room_exit, struct dirCheckData *dir_check_data) exit_sanity_check(wmudExit *room_exit, struct dirCheckData *dir_check_data)
{ {
if ( if (
!g_slist_find_custom(dir_check_data->rooms, room_exit, (GCompareFunc)check_room_exit_room) !g_slist_find_custom(dir_check_data->rooms, room_exit, (GCompareFunc)check_room_exit_room) ||
|| !g_slist_find_custom(dir_check_data->directions, room_exit, (GCompareFunc)check_room_exit_dir) !g_slist_find_custom(dir_check_data->directions, room_exit, (GCompareFunc)check_room_exit_dir)
) ) {
dir_check_data->sane = FALSE; dir_check_data->sane = FALSE;
} }
}
/** /**
* wmud_world_check_exits: * wmud_world_check_exits:
@ -251,9 +258,10 @@ check_room_dups1(wmudRoom *room, struct findData *find_data)
find_data->found = (find_data->found > 1) ? find_data->found : 0; find_data->found = (find_data->found > 1) ? find_data->found : 0;
} }
if (g_slist_find_custom(find_data->list, room, (GCompareFunc)check_room_dups2)) if (g_slist_find_custom(find_data->list, room, (GCompareFunc)check_room_dups2)) {
find_data->found++; find_data->found++;
} }
}
/** /**
* wmud_world_check_rooms: * wmud_world_check_rooms:
@ -273,17 +281,19 @@ wmud_world_check_rooms(GSList *rooms, GError **err)
g_slist_foreach(rooms, (GFunc)check_room_dups1, &find_data); g_slist_foreach(rooms, (GFunc)check_room_dups1, &find_data);
if (find_data.found > 1) if (find_data.found > 1) {
g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPROOM, "Duplicate room names found. Please check your database!"); g_set_error(err, WMUD_WORLD_ERROR, WMUD_WORLD_ERROR_DUPROOM, "Duplicate room names found. Please check your database!");
}
return (find_data.found < 2); return find_data.found < 2;
} }
gint gint
find_planet_by_id(wmudPlanet *planet, guint *planet_id) find_planet_by_id(wmudPlanet *planet, guint *planet_id)
{ {
if (planet->id == *planet_id) if (planet->id == *planet_id) {
return 0; return 0;
}
return 1; return 1;
} }
@ -291,8 +301,9 @@ find_planet_by_id(wmudPlanet *planet, guint *planet_id)
gint gint
find_plane_by_id(wmudPlane *plane, guint *plane_id) find_plane_by_id(wmudPlane *plane, guint *plane_id)
{ {
if (plane->id == *plane_id) if (plane->id == *plane_id) {
return 0; return 0;
}
return 1; return 1;
} }
@ -323,8 +334,9 @@ planet_plane_assoc(wmudPlanetPlaneAssoc *association, struct assocPlanetPlanes *
gint gint
find_noplane_planet(wmudPlanet *planet, gconstpointer data) find_noplane_planet(wmudPlanet *planet, gconstpointer data)
{ {
if (planet->planes == NULL) if (planet->planes == NULL) {
return 0; return 0;
}
return 1; return 1;
} }
@ -367,8 +379,9 @@ wmud_world_assoc_planets_planes(GSList *planets, GSList *planes, GSList *planet_
gint gint
find_area_by_id(wmudArea *area, guint *id) find_area_by_id(wmudArea *area, guint *id)
{ {
if (area->id == *id) if (area->id == *id) {
return 0; return 0;
}
return 1; return 1;
} }
@ -451,14 +464,15 @@ wmud_world_assoc_rooms_planets(GSList *rooms, GSList *planets, GError **err)
g_slist_foreach(rooms, (GFunc)assoc_room_planets, planets); g_slist_foreach(rooms, (GFunc)assoc_room_planets, planets);
/* Check the rooms */ /* Check the rooms */
return (g_slist_find_custom(rooms, NULL, (GCompareFunc)find_noplane_room) == NULL); return g_slist_find_custom(rooms, NULL, (GCompareFunc)find_noplane_room) == NULL;
} }
gint gint
find_room_by_id(wmudRoom *room, guint *id) find_room_by_id(wmudRoom *room, guint *id)
{ {
if (room->id == *id) if (room->id == *id) {
return 0; return 0;
}
return 1; return 1;
} }
@ -466,8 +480,9 @@ find_room_by_id(wmudRoom *room, guint *id)
gint gint
find_direction_by_id(wmudDirection *dir, guint *id) find_direction_by_id(wmudDirection *dir, guint *id)
{ {
if (dir->id == *id) if (dir->id == *id) {
return 0; return 0;
}
return 1; return 1;
} }
@ -478,6 +493,7 @@ assoc_room_exit(wmudExit *exit, struct assocExitRooms *assoc_data)
wmudRoomExit *room_exit = g_new0(wmudRoomExit, 1); wmudRoomExit *room_exit = g_new0(wmudRoomExit, 1);
wmudRoom *src_room = (wmudRoom *)(g_slist_find_custom(assoc_data->rooms, &(exit->source_room_id), (GCompareFunc)find_room_by_id)->data); wmudRoom *src_room = (wmudRoom *)(g_slist_find_custom(assoc_data->rooms, &(exit->source_room_id), (GCompareFunc)find_room_by_id)->data);
room_exit->other_side = (wmudRoom *)(g_slist_find_custom(assoc_data->rooms, &(exit->destination_room_id), (GCompareFunc)find_room_by_id)->data); room_exit->other_side = (wmudRoom *)(g_slist_find_custom(assoc_data->rooms, &(exit->destination_room_id), (GCompareFunc)find_room_by_id)->data);
room_exit->direction = (wmudDirection *)(g_slist_find_custom(assoc_data->directions, &(exit->direction_id), (GCompareFunc)find_direction_by_id)->data); room_exit->direction = (wmudDirection *)(g_slist_find_custom(assoc_data->directions, &(exit->direction_id), (GCompareFunc)find_direction_by_id)->data);
@ -504,11 +520,13 @@ wmud_world_assoc_exits_rooms(GSList *exits, GSList *directions, GSList *rooms, G
static void static void
free_direction(wmudDirection *dir) free_direction(wmudDirection *dir)
{ {
if (dir->short_name) if (dir->short_name) {
g_free(dir->short_name); g_free(dir->short_name);
}
if (dir->name) if (dir->name) {
g_free(dir->name); g_free(dir->name);
}
g_free(dir); g_free(dir);
} }
@ -531,8 +549,9 @@ wmud_world_free_directions(GSList *directions)
static void static void
free_plane(wmudPlane *plane) free_plane(wmudPlane *plane)
{ {
if (plane->name) if (plane->name) {
g_free(plane->name); g_free(plane->name);
}
g_free(plane); g_free(plane);
} }
@ -555,8 +574,9 @@ wmud_world_free_planes(GSList *planes)
static void static void
free_planet(wmudPlanet *planet) free_planet(wmudPlanet *planet)
{ {
if (planet->name) if (planet->name) {
g_free(planet->name); g_free(planet->name);
}
g_free(planet); g_free(planet);
} }
@ -579,8 +599,9 @@ wmud_world_free_planets(GSList *planets)
static void static void
free_area(wmudArea *area) free_area(wmudArea *area)
{ {
if (area->name) if (area->name) {
g_free(area->name); g_free(area->name);
}
g_free(area); g_free(area);
} }
@ -603,14 +624,17 @@ wmud_world_free_areas(GSList *areas)
static void static void
free_room(wmudRoom *room) free_room(wmudRoom *room)
{ {
if (room->name) if (room->name) {
g_free(room->name); g_free(room->name);
}
if (room->distant_description) if (room->distant_description) {
g_free(room->distant_description); g_free(room->distant_description);
}
if (room->close_description) if (room->close_description) {
g_free(room->close_description); g_free(room->close_description);
}
g_free(room); g_free(room);
} }