summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDusan Durech <dusan.d@Centrum.sk>2009-09-04 17:22:51 +0200
committerDusan Durech <dusan.d@Centrum.sk>2009-09-04 17:22:51 +0200
commitef7d34b831f025c1588fa1646354f1942b368397 (patch)
tree0762a7975205f1f2d205a15aa9cba809ac62c908 /src
parent16fc4253e795e4812b8680a61525e8d8fd0693d1 (diff)
fix few stupid bugs + fix one memory leak
Diffstat (limited to 'src')
-rw-r--r--src/client/config.c8
-rw-r--r--src/screen/world.c4
-rw-r--r--src/server/log.c8
3 files changed, 18 insertions, 2 deletions
diff --git a/src/client/config.c b/src/client/config.c
index 92c0776..c9cb33d 100644
--- a/src/client/config.c
+++ b/src/client/config.c
@@ -209,11 +209,19 @@ void config_set_str_value(int key, char *str)
int config_quit()
{
+ int i;
+
config_save();
if (config_file != NULL) {
text_file_destroy(config_file);
}
+ for (i = 0; i < CONFIG_LIST_COUNT; i++) {
+ if (config_list[i].type == CONFIG_TYPE_STR && config_list[i].value_str != NULL) {
+ free(config_list[i].value_str);
+ }
+ }
+
return 0;
}
diff --git a/src/screen/world.c b/src/screen/world.c
index 2afd8d4..f368c41 100644
--- a/src/screen/world.c
+++ b/src/screen/world.c
@@ -299,8 +299,8 @@ void world_set_control_tux(tux_t *tux, int control_type)
key_table_get_key(KEY_TUX_LEFT_MOVE_RIGHT),
key_table_get_key(KEY_TUX_LEFT_MOVE_LEFT),
key_table_get_key(KEY_TUX_LEFT_MOVE_DOWN),
- key_table_get_key(KEY_TUX_RIGHT_SHOOT),
- key_table_get_key(KEY_TUX_RIGHT_SWITCH_WEAPON)
+ key_table_get_key(KEY_TUX_LEFT_SHOOT),
+ key_table_get_key(KEY_TUX_LEFT_SWITCH_WEAPON)
);
break;
diff --git a/src/server/log.c b/src/server/log.c
index 647ceaa..0c6c319 100644
--- a/src/server/log.c
+++ b/src/server/log.c
@@ -33,6 +33,10 @@ void log_add(int type, char *msg)
time_t currentTime;
char *str_type;
+ if (logFile == NULL) {
+ return;
+ }
+
currentTime = time(NULL);
tm_struct = localtime(&currentTime);
@@ -66,6 +70,10 @@ void log_add(int type, char *msg)
void log_quit()
{
+ if (logFile == NULL) {
+ return;
+ }
+
log_add(LOG_INF, "Logging finished");
fclose(logFile);
}