diff options
Diffstat (limited to 'indra/llvfs/lldir.cpp')
-rw-r--r-- | indra/llvfs/lldir.cpp | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp index f4865202d5..325a2a39b6 100644 --- a/indra/llvfs/lldir.cpp +++ b/indra/llvfs/lldir.cpp @@ -59,8 +59,19 @@ LLDir_Linux gDirUtil; LLDir *gDirUtilp = (LLDir *)&gDirUtil; -LLDir::LLDir() -: mDirDelimiter("/") // fallback to forward slash if not overridden +LLDir::LLDir() +: mAppName(""), + mExecutablePathAndName(""), + mExecutableFilename(""), + mExecutableDir(""), + mAppRODataDir(""), + mOSUserDir(""), + mOSUserAppDir(""), + mLindenUserDir(""), + mOSCacheDir(""), + mCAFile(""), + mTempDir(""), + mDirDelimiter("/") // fallback to forward slash if not overridden { } @@ -205,13 +216,20 @@ const std::string LLDir::getCacheDir(bool get_default) const if (mCacheDir.empty() || get_default) { std::string res; - if (getOSUserAppDir().empty()) + if (getOSCacheDir().empty()) { - res = "data"; + if (getOSUserAppDir().empty()) + { + res = "data"; + } + else + { + res = getOSUserAppDir() + mDirDelimiter + "cache"; + } } else { - res = getOSUserAppDir() + mDirDelimiter + "cache"; + res = getOSCacheDir() + mDirDelimiter + "SecondLife"; } return res; } @@ -221,6 +239,12 @@ const std::string LLDir::getCacheDir(bool get_default) const } } +const std::string &LLDir::getOSCacheDir() const +{ + return mOSCacheDir; +} + + const std::string &LLDir::getCAFile() const { return mCAFile; @@ -350,6 +374,9 @@ std::string LLDir::getExpandedFilename(ELLPath location, const std::string& subd prefix += mDirDelimiter; prefix += "browser_profile"; break; + + case LL_PATH_EXECUTABLE: + prefix = getExecutableDir(); default: llassert(0); |