Changed: #1153 first, check for client_default.cfg in working dir

This commit is contained in:
rti 2010-11-09 02:16:50 +01:00
parent 65f3cff7c5
commit 0d19031c38

View file

@ -2168,27 +2168,33 @@ ucstring CClientConfig::buildLoadingString( const ucstring& ucstr ) const
bool CClientConfig::getDefaultConfigLocation(std::string& p_name) const bool CClientConfig::getDefaultConfigLocation(std::string& p_name) const
{ {
std::string defaultConfigFileName = "client_default.cfg"; std::string defaultConfigFileName = "client_default.cfg";
std::string defaultConfigPath;
#ifdef NL_OS_MAC #ifdef NL_OS_MAC
// on mac, client_default.cfg is located in the .app/Contents/Resources/ // on mac, client_default.cfg should be searched in .app/Contents/Resources/
defaultConfigFileName = defaultConfigPath =
CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/") + CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/");
defaultConfigFileName;
#elif defined(RYZOM_ETC_PREFIX) #elif defined(RYZOM_ETC_PREFIX)
// if RYZOM_ETC_PREFIX is defined, look for client_default.cfg over there // if RYZOM_ETC_PREFIX is defined, client_default.cfg might be over there
defaultConfigFileName = CPath::standardizePath(RYZOM_ETC_PREFIX) + defaultConfigPath = CPath::standardizePath(RYZOM_ETC_PREFIX);
defaultConfigFileName;
#else
// some other prefix here :)
#endif // RYZOM_ETC_PREFIX #endif // RYZOM_ETC_PREFIX
// else, client_default.cfg has to be in the working path // look in the current working directory first
if(CFile::isExists(defaultConfigFileName))
if (CFile::isExists(defaultConfigFileName))
{
p_name = defaultConfigFileName; p_name = defaultConfigFileName;
// if not in working directory, check using prefix path
else if(CFile::isExists(defaultConfigPath + defaultConfigFileName))
p_name = defaultConfigPath + defaultConfigFileName;
// if some client_default.cfg was found return true
if(p_name.size())
return true; return true;
}
return false; return false;
} }