OSDN Git Service

[Refactor] #3281 fd_kill() の引数をstring_view からpath に変えた
authorHourier <66951241+Hourier@users.noreply.github.com>
Mon, 8 May 2023 14:34:55 +0000 (23:34 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 13 May 2023 05:16:20 +0000 (14:16 +0900)
src/cmd-io/cmd-diary.cpp
src/floor/floor-save.cpp
src/load/floor-loader.cpp
src/save/floor-writer.cpp
src/util/angband-files.cpp
src/util/angband-files.h

index 09bfe2d..eb63320 100644 (file)
@@ -99,14 +99,14 @@ static void do_cmd_erase_diary()
     std::stringstream ss;
     ss << _("playrecord-", "playrec-") << savefile_base << ".txt";
     const auto &path = path_build(ANGBAND_DIR_USER, ss.str());
-    const auto &filename = path.string();
-    fd_kill(filename);
+    fd_kill(path);
 
     auto *fff = angband_fopen(path, FileOpenMode::WRITE);
     if (fff) {
         angband_fclose(fff);
         msg_format(_("記録を消去しました。", "deleted record."));
     } else {
+        const auto &filename = path.string();
         msg_format(_("%s の消去に失敗しました。", "failed to delete %s."), filename.data());
     }
 
index 79629ce..be461a6 100644 (file)
@@ -71,7 +71,7 @@ void init_saved_floors(PlayerType *player_ptr, bool force)
         safe_setuid_drop();
         check_saved_tmp_files(fd, &force);
         safe_setuid_grab(player_ptr);
-        (void)fd_kill(floor_savefile.data());
+        (void)fd_kill(floor_savefile);
         safe_setuid_drop();
         sf_ptr->floor_id = 0;
     }
@@ -97,7 +97,7 @@ void clear_saved_floor_files(PlayerType *player_ptr)
         }
 
         safe_setuid_grab(player_ptr);
-        (void)fd_kill(get_saved_floor_name(i).data());
+        (void)fd_kill(get_saved_floor_name(i));
         safe_setuid_drop();
     }
 }
@@ -141,7 +141,7 @@ void kill_saved_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr)
     }
 
     safe_setuid_grab(player_ptr);
-    (void)fd_kill(get_saved_floor_name((int)sf_ptr->savefile_id).data());
+    (void)fd_kill(get_saved_floor_name((int)sf_ptr->savefile_id));
     safe_setuid_drop();
     sf_ptr->floor_id = 0;
 }
index fa8f4b4..ef96f18 100644 (file)
@@ -293,7 +293,7 @@ bool load_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, BIT_FLAGS mode
     floor_savefile.append(ext);
 
     safe_setuid_grab(player_ptr);
-    loading_savefile = angband_fopen(floor_savefile.data(), FileOpenMode::READ, true);
+    loading_savefile = angband_fopen(floor_savefile, FileOpenMode::READ, true);
     safe_setuid_drop();
 
     bool is_save_successful = true;
@@ -310,7 +310,7 @@ bool load_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, BIT_FLAGS mode
         angband_fclose(loading_savefile);
         safe_setuid_grab(player_ptr);
         if (!(mode & SLF_NO_KILL)) {
-            (void)fd_kill(floor_savefile.data());
+            (void)fd_kill(floor_savefile);
         }
 
         safe_setuid_drop();
index c8172a2..313292a 100644 (file)
@@ -252,7 +252,7 @@ bool save_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, BIT_FLAGS mode
     strnfmt(ext, sizeof(ext), ".F%02d", (int)sf_ptr->savefile_id);
     floor_savefile.append(ext);
     safe_setuid_grab(player_ptr);
-    fd_kill(floor_savefile.data());
+    fd_kill(floor_savefile);
     safe_setuid_drop();
     saving_savefile = nullptr;
     safe_setuid_grab(player_ptr);
@@ -263,7 +263,7 @@ bool save_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, BIT_FLAGS mode
     if (fd >= 0) {
         (void)fd_close(fd);
         safe_setuid_grab(player_ptr);
-        saving_savefile = angband_fopen(floor_savefile.data(), FileOpenMode::WRITE, true);
+        saving_savefile = angband_fopen(floor_savefile, FileOpenMode::WRITE, true);
         safe_setuid_drop();
         if (saving_savefile) {
             if (save_floor_aux(player_ptr, sf_ptr)) {
@@ -277,7 +277,7 @@ bool save_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, BIT_FLAGS mode
 
         if (!is_save_successful) {
             safe_setuid_grab(player_ptr);
-            (void)fd_kill(floor_savefile.data());
+            (void)fd_kill(floor_savefile);
             safe_setuid_drop();
         }
     }
index e54de00..c871af6 100644 (file)
@@ -343,14 +343,14 @@ errr angband_fputs(FILE *fff, concptr buf, ulong n)
  * @brief OSごとの差異を吸収してファイルを削除する
  * @param file ファイルの相対パスまたは絶対パス
  */
-void fd_kill(std::string_view file)
+void fd_kill(const std::filesystem::path &path)
 {
-    const auto &path = path_parse(file);
-    if (!std::filesystem::exists(path)) {
+    const auto &parsed_path = path_parse(path);
+    if (!std::filesystem::exists(parsed_path)) {
         return;
     }
 
-    std::filesystem::remove(path);
+    std::filesystem::remove(parsed_path);
 }
 
 /*!
index 3181523..3b4547f 100644 (file)
@@ -48,7 +48,7 @@ FILE *angband_fopen_temp(char *buf, int max);
 errr angband_fgets(FILE *fff, char *buf, ulong n);
 errr angband_fputs(FILE *fff, concptr buf, ulong n);
 errr angband_fclose(FILE *fff);
-void fd_kill(std::string_view file);
+void fd_kill(const std::filesystem::path &path);
 void fd_move(std::string_view from, std::string_view to);
 int fd_make(const std::filesystem::path &path, bool can_write_group = false);
 int fd_open(std::string_view file, int mode);