X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=8bc457216de7448418ad5cebd885728e562b5b60;hb=refs%2Fheads%2Fmaster-next-major-release;hp=bd0f562bb352a4b020df150665889d38b0646a1e;hpb=28d49eef427d729f0ebe9c1d7d4840c6111bf8c7;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index bd0f562b..ed4bd5d6 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -1704,6 +1704,7 @@ void GetOptions(int argc, char *argv[], options.player_name = NULL; options.identifier = NULL; options.level_nr = NULL; + options.drop_file = NULL; options.display_nr = 0; @@ -1870,6 +1871,15 @@ void GetOptions(int argc, char *argv[], if (option_arg == next_option) options_left++; } + else if (strncmp(option, "-drop-file", option_len) == 0) + { + if (option_arg == NULL) + FailWithHelp("option '%s' requires an argument", option_str); + + options.drop_file = getStringCopy(option_arg); + if (option_arg == next_option) + options_left++; + } else if (strncmp(option, "-verbose", option_len) == 0) { options.verbose = TRUE; @@ -2955,7 +2965,7 @@ boolean get_boolean_from_string(char *s) return result; } -int get_switch3_from_string(char *s) +int get_switch_3_state_from_string(char *s) { char *s_lower = getStringToLower(s); int result = FALSE; @@ -2966,7 +2976,9 @@ int get_switch3_from_string(char *s) get_integer_from_string(s) == 1) result = TRUE; else if (strEqual(s_lower, "auto")) - result = AUTO; + result = STATE_AUTO; + else if (strEqual(s_lower, "ask")) + result = STATE_ASK; free(s_lower); @@ -3098,7 +3110,7 @@ static void dumpList(ListNode *node_first) #define MAX_BUFFER_SIZE 4096 -File *openFile(char *filename, char *mode) +File *openFile(const char *filename, const char *mode) { File *file = checked_calloc(sizeof(File)); @@ -3254,7 +3266,7 @@ char *getStringFromFile(File *file, char *line, int size) return fgets(line, size, file->file); } -int copyFile(char *filename_from, char *filename_to) +int copyFile(const char *filename_from, const char *filename_to) { File *file_from, *file_to; @@ -3284,7 +3296,7 @@ int copyFile(char *filename_from, char *filename_to) return 0; } -boolean touchFile(char *filename) +boolean touchFile(const char *filename) { FILE *file;