-/*] Copyright (c) 2009-2010, Charles McGarvey [**************************
+/*] Copyright (c) 2009-2011, Charles McGarvey [*****************************
**] All rights reserved.
*
-* vi:ts=4 sw=4 tw=75
-*
* Distributable under the terms and conditions of the 2-clause BSD license;
* see the file COPYING for a complete text of the license.
*
-**************************************************************************/
+*****************************************************************************/
-#include <cstdlib> // getenv
+#include <stlplus/portability/file_system.hpp>
#include "log.hh"
#include "settings.hh"
save();
}
-
void settings::parse_args(int argc, char* argv[])
{
for (int i = 1; i < argc; ++i)
{
std::string str;
script_[-1].get(str);
- log_warning << "invalid option: " << argv[i]
- << ": " << str << std::endl;
+ log_warning("invalid option", argv[i], "returned", str);
script_.clear_stack();
}
}
}
-
void settings::load_files(const std::string& path)
{
std::vector<std::string> paths;
boost::split(paths, path, boost::is_any_of(":"));
-
load_files(paths);
}
void settings::load_files(const std::vector<std::string>& path)
{
- std::vector<std::string> copy(path);
- std::vector<std::string>::iterator it;
-
-#if defined(_WIN32)
- char* homeDrive = getenv("HOMEDRIVE");
- char* homePath = getenv("HOMEPATH");
- std::string home(homeDrive ? homeDrive : "");
- if (homePath) home += homePath;
-#else
- char *homePath = getenv("HOME");
- std::string home(homePath ? homePath : "");
-#endif
+ std::string home = stlplus::folder_home();
+ std::vector<std::string>::iterator it;
+ std::vector<std::string> copy(path);
for (it = copy.begin(); it != copy.end(); ++it)
{
if (!home.empty())
boost::replace_all(*it, "$HOME", home);
//logDebug("Copying global settings...");
- //mUserFile = *it;
+ //userfile_ = *it;
//mGlobals.push_copy();
//script_.set("globals", script::registry_index);
}
-
if (script_.do_file(*it) != script::success)
{
std::string str;
}
}
-
void settings::clear()
{
script_.reset();
}
-
void settings::save_as(const std::string& path)
{
- mUserFile = path;
+ userfile_ = path;
save();
}