@@ -880,15 +880,15 @@ fs::path GetDefaultDataDir()
880880#endif
881881}
882882
883- bool CheckDataDirOption ()
883+ bool CheckDataDirOption (const ArgsManager& args )
884884{
885- const fs::path datadir{gArgs .GetPathArg (" -datadir" )};
885+ const fs::path datadir{args .GetPathArg (" -datadir" )};
886886 return datadir.empty () || fs::is_directory (fs::absolute (datadir));
887887}
888888
889- fs::path GetConfigFile (const fs::path& configuration_file_path)
889+ fs::path GetConfigFile (const ArgsManager& args, const fs::path& configuration_file_path)
890890{
891- return AbsPathForConfigVal (configuration_file_path, /* net_specific=*/ false );
891+ return AbsPathForConfigVal (args, configuration_file_path, /* net_specific=*/ false );
892892}
893893
894894static bool GetConfigOptions (std::istream& stream, const std::string& filepath, std::string& error, std::vector<std::pair<std::string, std::string>>& options, std::list<SectionInfo>& sections)
@@ -981,7 +981,7 @@ bool ArgsManager::ReadConfigStream(std::istream& stream, const std::string& file
981981
982982fs::path ArgsManager::GetConfigFilePath () const
983983{
984- return GetConfigFile (GetPathArg (" -conf" , BITCOIN_CONF_FILENAME));
984+ return GetConfigFile (* this , GetPathArg (" -conf" , BITCOIN_CONF_FILENAME));
985985}
986986
987987bool ArgsManager::ReadConfigFiles (std::string& error, bool ignore_invalid_keys)
@@ -1040,7 +1040,7 @@ bool ArgsManager::ReadConfigFiles(std::string& error, bool ignore_invalid_keys)
10401040 const size_t default_includes = add_includes ({});
10411041
10421042 for (const std::string& conf_file_name : conf_file_names) {
1043- std::ifstream conf_file_stream{GetConfigFile (fs::PathFromString (conf_file_name))};
1043+ std::ifstream conf_file_stream{GetConfigFile (* this , fs::PathFromString (conf_file_name))};
10441044 if (conf_file_stream.good ()) {
10451045 if (!ReadConfigStream (conf_file_stream, conf_file_name, error, ignore_invalid_keys)) {
10461046 return false ;
@@ -1068,8 +1068,8 @@ bool ArgsManager::ReadConfigFiles(std::string& error, bool ignore_invalid_keys)
10681068 }
10691069
10701070 // If datadir is changed in .conf file:
1071- gArgs . ClearPathCache ();
1072- if (!CheckDataDirOption ()) {
1071+ ClearPathCache ();
1072+ if (!CheckDataDirOption (* this )) {
10731073 error = strprintf (" specified data directory \" %s\" does not exist." , GetArg (" -datadir" , " " ));
10741074 return false ;
10751075 }
@@ -1409,12 +1409,12 @@ int64_t GetStartupTime()
14091409 return nStartupTime;
14101410}
14111411
1412- fs::path AbsPathForConfigVal (const fs::path& path, bool net_specific)
1412+ fs::path AbsPathForConfigVal (const ArgsManager& args, const fs::path& path, bool net_specific)
14131413{
14141414 if (path.is_absolute ()) {
14151415 return path;
14161416 }
1417- return fsbridge::AbsPathJoin (net_specific ? gArgs .GetDataDirNet () : gArgs .GetDataDirBase (), path);
1417+ return fsbridge::AbsPathJoin (net_specific ? args .GetDataDirNet () : args .GetDataDirBase (), path);
14181418}
14191419
14201420void ScheduleBatchPriority ()
0 commit comments