projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20070315-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
setup.c
diff --git
a/src/libgame/setup.c
b/src/libgame/setup.c
index 45a9895a9ef444b3b3f7638f543e1f743839df73..985c160a245b9f3b16f33ecedb2e9a79b4c99c9c 100644
(file)
--- a/
src/libgame/setup.c
+++ b/
src/libgame/setup.c
@@
-1760,8
+1760,8
@@
boolean getTokenValueFromSetupLine(char *line, char **token, char **value)
}
#if 1
}
#if 1
-static
void
loadSetupFileData(void *setup_file_data, char *filename,
- boolean top_recursion_level, boolean is_hash)
+static
boolean
loadSetupFileData(void *setup_file_data, char *filename,
+
boolean top_recursion_level, boolean is_hash)
{
static SetupFileHash *include_filename_hash = NULL;
char line[MAX_LINE_LEN], line_raw[MAX_LINE_LEN], previous_line[MAX_LINE_LEN];
{
static SetupFileHash *include_filename_hash = NULL;
char line[MAX_LINE_LEN], line_raw[MAX_LINE_LEN], previous_line[MAX_LINE_LEN];
@@
-1780,7
+1780,7
@@
static void loadSetupFileData(void *setup_file_data, char *filename,
{
Error(ERR_WARN, "cannot open configuration file '%s'", filename);
{
Error(ERR_WARN, "cannot open configuration file '%s'", filename);
- return;
+ return
FALSE
;
}
/* use "insert pointer" to store list end for constant insertion complexity */
}
/* use "insert pointer" to store list end for constant insertion complexity */
@@
-1895,12
+1895,14
@@
static void loadSetupFileData(void *setup_file_data, char *filename,
if (top_recursion_level)
freeSetupFileHash(include_filename_hash);
if (top_recursion_level)
freeSetupFileHash(include_filename_hash);
+
+ return TRUE;
}
#else
}
#else
-static
void
loadSetupFileData(void *setup_file_data, char *filename,
- boolean top_recursion_level, boolean is_hash)
+static
boolean
loadSetupFileData(void *setup_file_data, char *filename,
+
boolean top_recursion_level, boolean is_hash)
{
static SetupFileHash *include_filename_hash = NULL;
char line[MAX_LINE_LEN], line_raw[MAX_LINE_LEN], previous_line[MAX_LINE_LEN];
{
static SetupFileHash *include_filename_hash = NULL;
char line[MAX_LINE_LEN], line_raw[MAX_LINE_LEN], previous_line[MAX_LINE_LEN];
@@
-1919,7
+1921,7
@@
static void loadSetupFileData(void *setup_file_data, char *filename,
{
Error(ERR_WARN, "cannot open configuration file '%s'", filename);
{
Error(ERR_WARN, "cannot open configuration file '%s'", filename);
- return;
+ return
FALSE
;
}
/* use "insert pointer" to store list end for constant insertion complexity */
}
/* use "insert pointer" to store list end for constant insertion complexity */
@@
-2125,6
+2127,8
@@
static void loadSetupFileData(void *setup_file_data, char *filename,
if (top_recursion_level)
freeSetupFileHash(include_filename_hash);
if (top_recursion_level)
freeSetupFileHash(include_filename_hash);
+
+ return TRUE;
}
#endif
}
#endif
@@
-2154,7
+2158,12
@@
SetupFileList *loadSetupFileList(char *filename)
SetupFileList *setup_file_list = newSetupFileList("", "");
SetupFileList *first_valid_list_entry;
SetupFileList *setup_file_list = newSetupFileList("", "");
SetupFileList *first_valid_list_entry;
- loadSetupFileData(setup_file_list, filename, TRUE, FALSE);
+ if (!loadSetupFileData(setup_file_list, filename, TRUE, FALSE))
+ {
+ freeSetupFileList(setup_file_list);
+
+ return NULL;
+ }
first_valid_list_entry = setup_file_list->next;
first_valid_list_entry = setup_file_list->next;
@@
-2169,7
+2178,12
@@
SetupFileHash *loadSetupFileHash(char *filename)
{
SetupFileHash *setup_file_hash = newSetupFileHash();
{
SetupFileHash *setup_file_hash = newSetupFileHash();
- loadSetupFileData(setup_file_hash, filename, TRUE, TRUE);
+ if (!loadSetupFileData(setup_file_hash, filename, TRUE, TRUE))
+ {
+ freeSetupFileHash(setup_file_hash);
+
+ return NULL;
+ }
return setup_file_hash;
}
return setup_file_hash;
}