projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed bug with option '-v' displaying version instead of enabling verbose mode
[rocksndiamonds.git]
/
src
/
libgame
/
misc.c
diff --git
a/src/libgame/misc.c
b/src/libgame/misc.c
index 5fdbe85b42b800d323ace39fd28c5ef1b28d3bcf..87b707cb3ce0efd9098ddc292e59359527fd5da5 100644
(file)
--- a/
src/libgame/misc.c
+++ b/
src/libgame/misc.c
@@
-765,7
+765,9
@@
boolean strSuffixLower(char *s, char *suffix)
/* command line option handling functions */
/* ------------------------------------------------------------------------- */
/* command line option handling functions */
/* ------------------------------------------------------------------------- */
-void GetOptions(char *argv[], void (*print_usage_function)(void))
+void GetOptions(char *argv[],
+ void (*print_usage_function)(void),
+ void (*print_version_function)(void))
{
char *ro_base_path = RO_BASE_PATH;
char *rw_base_path = RW_BASE_PATH;
{
char *ro_base_path = RO_BASE_PATH;
char *rw_base_path = RW_BASE_PATH;
@@
-862,7
+864,9
@@
void GetOptions(char *argv[], void (*print_usage_function)(void))
option_len = strlen(option);
if (strEqual(option, "-"))
option_len = strlen(option);
if (strEqual(option, "-"))
+ {
Error(ERR_EXIT_HELP, "unrecognized option '%s'", option);
Error(ERR_EXIT_HELP, "unrecognized option '%s'", option);
+ }
else if (strncmp(option, "-help", option_len) == 0)
{
print_usage_function();
else if (strncmp(option, "-help", option_len) == 0)
{
print_usage_function();
@@
-940,10
+944,6
@@
void GetOptions(char *argv[], void (*print_usage_function)(void))
{
options.serveronly = TRUE;
}
{
options.serveronly = TRUE;
}
- else if (strncmp(option, "-verbose", option_len) == 0)
- {
- options.verbose = TRUE;
- }
else if (strncmp(option, "-debug", option_len) == 0)
{
options.debug = TRUE;
else if (strncmp(option, "-debug", option_len) == 0)
{
options.debug = TRUE;
@@
-952,6
+952,17
@@
void GetOptions(char *argv[], void (*print_usage_function)(void))
{
options.debug_x11_sync = TRUE;
}
{
options.debug_x11_sync = TRUE;
}
+ else if (strncmp(option, "-verbose", option_len) == 0)
+ {
+ options.verbose = TRUE;
+ }
+ else if (strncmp(option, "-version", option_len) == 0 ||
+ strncmp(option, "-V", option_len) == 0)
+ {
+ print_version_function();
+
+ exit(0);
+ }
else if (strPrefix(option, "-D"))
{
#if 1
else if (strPrefix(option, "-D"))
{
#if 1
@@
-3691,6
+3702,9
@@
void openErrorFile()
Error(ERR_WARN, "cannot open file '%s' for writing: %s",
program.error_filename, strerror(errno));
}
Error(ERR_WARN, "cannot open file '%s' for writing: %s",
program.error_filename, strerror(errno));
}
+
+ /* error output should be unbuffered so it is not truncated in a crash */
+ setbuf(program.error_file, NULL);
}
void closeErrorFile()
}
void closeErrorFile()