Corrected a logic error when testing if a persistent config file exists,

...added creation of /persist directory to setup_user_data_dir.
This commit is contained in:
Jody Northup 2010-08-18 21:01:22 +00:00
parent 5cc4e955f3
commit 14f1c3918c
2 changed files with 4 additions and 1 deletions

View file

@ -580,6 +580,7 @@ static void setup_user_data_dir()
_mkdir((user_data_dir + "/data").c_str());
_mkdir((user_data_dir + "/data/add-ons").c_str());
_mkdir((user_data_dir + "/saves").c_str());
_mkdir((user_data_dir + "/persist").c_str());
#elif defined(__BEOS__)
BPath tpath;
#define BEOS_CREATE_PREFERENCES_SUBDIR(subdir) \
@ -592,6 +593,7 @@ static void setup_user_data_dir()
BEOS_CREATE_PREFERENCES_SUBDIR("data");
BEOS_CREATE_PREFERENCES_SUBDIR("data/add-ons");
BEOS_CREATE_PREFERENCES_SUBDIR("saves");
BEOS_CREATE_PREFERENCES_SUBDIR("persist");
#undef BEOS_CREATE_PREFERENCES_SUBDIR
#else
const std::string& dir_path = user_data_dir;
@ -611,6 +613,7 @@ static void setup_user_data_dir()
create_directory_if_missing(dir_path + "/data");
create_directory_if_missing(dir_path + "/data/add-ons");
create_directory_if_missing(dir_path + "/saves");
create_directory_if_missing(dir_path + "/persist");
#endif
}

View file

@ -42,7 +42,7 @@ void persist_file_context::load() {
create_directory_if_missing(cfg_dir);
std::string cfg_name = get_persist_cfg_name(namespace_.root_);
if (!cfg_name.empty()) {
if (file_exists(cfg_name) && !is_directory(cfg_name)) {
scoped_istream file_stream = istream_file(cfg_name);
if (!(file_stream->fail())) {
try {