X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel_subset.cpp;h=5cd4d2abd4f7836fb2b8658c8b03303653c15b99;hb=42503cac8eac1199cccec2d4fbed7fde41a2bb55;hp=c364e6b5abcd2f5eecf3c1685bf05937893ef529;hpb=ac1e32e2297a4a094c078f991b54137a4351186e;p=supertux.git diff --git a/src/level_subset.cpp b/src/level_subset.cpp index c364e6b5a..5cd4d2abd 100644 --- a/src/level_subset.cpp +++ b/src/level_subset.cpp @@ -76,22 +76,22 @@ void LevelSubset::read_info_file(const std::string& info_file) lisp_free(root_obj); } -void LevelSubset::load(const char* subset) +void LevelSubset::load(const std::string& subset) { name = subset; // Check in which directory our subset is located (ie. ~/.supertux/ // or SUPERTUX_DATADIR) - char filename[1024]; - snprintf(filename, 1024, "%s/levels/%s/", st_dir, subset); - if (access(filename, R_OK) == 0) + std::string filename; + filename = st_dir + "/levels/" + subset + "/"; + if (access(filename.c_str(), R_OK) == 0) { directory = filename; } else { - snprintf(filename, 1024, "%s/levels/%s/", datadir.c_str(), subset); - if (access(filename, R_OK) == 0) + filename = datadir + "/levels/" + subset + "/"; + if (access(filename.c_str(), R_OK) == 0) directory = filename; else std::cout << "Error: LevelSubset: couldn't find subset: " << subset << std::endl; @@ -104,14 +104,14 @@ void LevelSubset::load(const char* subset) // directory to see what we can find std::set files; - snprintf(filename, 1024, "%s/levels/%s/", st_dir, subset); - if(access(filename, R_OK) == 0) + filename = st_dir + "/levels/" + subset + "/"; + if(access(filename.c_str(), R_OK) == 0) { files = FileSystem::read_directory(filename); } else { - snprintf(filename, 1024, "%s/levels/%s/", datadir.c_str(), subset); + filename = datadir + "/levels/" + subset + "/"; files = FileSystem::read_directory(filename); } @@ -170,6 +170,7 @@ LevelSubset::get_level_filename(unsigned int num) { assert(num < levels.size()); +std::cerr << "levels[" << num << "]: " << levels[num] << std::endl; return directory + levels[num]; }