Make GetDataDir return absolute paths

This commit is contained in:
Pieter Wuille
2012-04-22 14:35:22 +02:00
parent 457661f640
commit f4203de302
4 changed files with 12 additions and 7 deletions

View File

@@ -870,7 +870,11 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
LOCK(csPathCached);
if (mapArgs.count("-datadir")) {
path = mapArgs["-datadir"];
path = fs::system_complete(mapArgs["-datadir"]);
if (!fs::is_directory(path)) {
path = "";
return path;
}
} else {
path = GetDefaultDataDir();
}
@@ -892,7 +896,7 @@ boost::filesystem::path GetConfigFile()
return pathConfigFile;
}
bool ReadConfigFile(map<string, string>& mapSettingsRet,
void ReadConfigFile(map<string, string>& mapSettingsRet,
map<string, vector<string> >& mapMultiSettingsRet)
{
namespace fs = boost::filesystem;
@@ -900,7 +904,7 @@ bool ReadConfigFile(map<string, string>& mapSettingsRet,
fs::ifstream streamConfig(GetConfigFile());
if (!streamConfig.good())
return true; // No bitcoin.conf file is OK
return; // No bitcoin.conf file is OK
set<string> setOptions;
setOptions.insert("*");
@@ -917,7 +921,6 @@ bool ReadConfigFile(map<string, string>& mapSettingsRet,
}
mapMultiSettingsRet[strKey].push_back(it->value[0]);
}
return true;
}
boost::filesystem::path GetPidFile()