From: Jeff Garzik Date: Tue, 24 Apr 2012 04:33:29 +0000 (-0700) Subject: Merge pull request #1140 from jgarzik/sign-compare X-Git-Tag: v0.4.0-unstable~129^2~48 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=c2e8c8acd8ae0c94c70b59f55169841ad195bb99;hp=735a60698c845f257a0f7e9b617d50669d9179d4 Merge pull request #1140 from jgarzik/sign-compare Address many more sign comparison warnings --- diff --git a/src/init.cpp b/src/init.cpp index 14db9e7..e7f1c7c 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -150,11 +150,12 @@ bool AppInit2(int argc, char* argv[]) // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main() #if !defined(QT_GUI) ParseParameters(argc, argv); - if (!ReadConfigFile(mapArgs, mapMultiArgs)) + if (!boost::filesystem::is_directory(GetDataDir(false))) { fprintf(stderr, "Error: Specified directory does not exist\n"); Shutdown(NULL); } + ReadConfigFile(mapArgs, mapMultiArgs); #endif if (mapArgs.count("-?") || mapArgs.count("--help")) diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index c783087..7c262e1 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -168,11 +168,12 @@ int main(int argc, char *argv[]) ParseParameters(argc, argv); // ... then bitcoin.conf: - if (!ReadConfigFile(mapArgs, mapMultiArgs)) + if (!boost::filesystem::is_directory(GetDataDir(false))) { fprintf(stderr, "Error: Specified directory does not exist\n"); return 1; } + ReadConfigFile(mapArgs, mapMultiArgs); // Application identification (must be set before OptionsModel is initialized, // as it is used to locate QSettings) diff --git a/src/util.cpp b/src/util.cpp index 016e9de..cd3d3b9 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -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& mapSettingsRet, +void ReadConfigFile(map& mapSettingsRet, map >& mapMultiSettingsRet) { namespace fs = boost::filesystem; @@ -900,7 +904,7 @@ bool ReadConfigFile(map& mapSettingsRet, fs::ifstream streamConfig(GetConfigFile()); if (!streamConfig.good()) - return true; // No bitcoin.conf file is OK + return; // No bitcoin.conf file is OK set setOptions; setOptions.insert("*"); @@ -917,7 +921,6 @@ bool ReadConfigFile(map& mapSettingsRet, } mapMultiSettingsRet[strKey].push_back(it->value[0]); } - return true; } boost::filesystem::path GetPidFile() diff --git a/src/util.h b/src/util.h index d9d8151..6c3e6c5 100644 --- a/src/util.h +++ b/src/util.h @@ -162,7 +162,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific = true); boost::filesystem::path GetConfigFile(); boost::filesystem::path GetPidFile(); void CreatePidFile(const boost::filesystem::path &path, pid_t pid); -bool ReadConfigFile(std::map& mapSettingsRet, std::map >& mapMultiSettingsRet); +void ReadConfigFile(std::map& mapSettingsRet, std::map >& mapMultiSettingsRet); bool GetStartOnSystemStartup(); bool SetStartOnSystemStartup(bool fAutoStart); void ShrinkDebugFile();