void init_saved_floors(PlayerType *player_ptr, bool force)
{
auto fd = -1;
- for (int i = 0; i < MAX_SAVED_FLOORS; i++) {
- saved_floor_type *sf_ptr = &saved_floors[i];
- auto floor_savefile = get_saved_floor_name(i);
- safe_setuid_grab();
- fd = fd_make(floor_savefile);
- safe_setuid_drop();
- check_saved_tmp_files(fd, &force);
- safe_setuid_grab();
- (void)fd_kill(floor_savefile);
- safe_setuid_drop();
- sf_ptr->floor_id = 0;
+ if (!savefile.empty()) {
+ for (int i = 0; i < MAX_SAVED_FLOORS; i++) {
+ saved_floor_type *sf_ptr = &saved_floors[i];
+ auto floor_savefile = get_saved_floor_name(i);
+ safe_setuid_grab();
+ fd = fd_make(floor_savefile);
+ safe_setuid_drop();
+ check_saved_tmp_files(fd, &force);
+ safe_setuid_grab();
+ (void)fd_kill(floor_savefile);
+ safe_setuid_drop();
+ sf_ptr->floor_id = 0;
+ }
}
max_floor_id = 1;