OSDN Git Service

[Fix] セーブファイルを指定して起動した時にpath指定がおかしくて起動しない #101
authordis- <dis.rogue@gmail.com>
Sat, 13 Feb 2021 02:02:01 +0000 (11:02 +0900)
committerdis- <dis.rogue@gmail.com>
Sat, 13 Feb 2021 02:04:38 +0000 (11:04 +0900)
コマンドライン等からセーブファイルを起動するときcheck_for_save_file()にて引数を判断している。
ここでグローバル変数savefileが空であることを前提にしてstrcatしていたためパスを正常に指定できなくなっていた。
コマンドライン等からの起動であるとき、INIファイルを無視して指定セーブを開く挙動が正しい。
よってsavefileを上書きするstrcpyを使用するよう変更した。

ついでに、初期化中ダイアログを初期化処理未完了の場合のみ表示するよう変更。

src/main-win.c

index 8420928..6624ecb 100644 (file)
@@ -2275,7 +2275,7 @@ static void check_for_save_file(player_type *player_ptr, LPSTR cmd_line)
     if (!*s)
         return;
 
-    strcat(savefile, s);
+    strcpy(savefile, s);
     validate_file(savefile);
     game_in_progress = TRUE;
     play_game(player_ptr, FALSE, FALSE);