diff options
Diffstat (limited to 'net-irc/znc/files/znc-1.7.0-inttest-dir.patch')
-rw-r--r-- | net-irc/znc/files/znc-1.7.0-inttest-dir.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/net-irc/znc/files/znc-1.7.0-inttest-dir.patch b/net-irc/znc/files/znc-1.7.0-inttest-dir.patch new file mode 100644 index 000000000000..250eccc53fb6 --- /dev/null +++ b/net-irc/znc/files/znc-1.7.0-inttest-dir.patch @@ -0,0 +1,55 @@ +diff --git a/include/znc/znc.h b/include/znc/znc.h +index ecb2b41a..a791a648 100644 +--- a/include/znc/znc.h ++++ b/include/znc/znc.h +@@ -251,6 +251,7 @@ class CZNC : private CCoreTranslationMixin { + void DisableConfigTimer(); + + static void DumpConfig(const CConfig* Config); ++ static CString UnusualRoot(); + + private: + static CString FormatBindError(); +diff --git a/src/Modules.cpp b/src/Modules.cpp +index 5aec7805..6f9c34ae 100644 +--- a/src/Modules.cpp ++++ b/src/Modules.cpp +@@ -1899,9 +1899,10 @@ CModules::ModDirList CModules::GetModDirs() { + sDir = CZNC::Get().GetModPath() + "/"; + ret.push(std::make_pair(sDir, sDir)); + ++ CString sUnusualRoot = CZNC::UnusualRoot(); + // <moduledir> and <datadir> (<prefix>/lib/znc) +- ret.push(std::make_pair(_MODDIR_ + CString("/"), +- _DATADIR_ + CString("/modules/"))); ++ ret.push(std::make_pair(sUnusualRoot + _MODDIR_ + CString("/"), ++ sUnusualRoot + _DATADIR_ + CString("/modules/"))); + + return ret; + } +diff --git a/src/WebModules.cpp b/src/WebModules.cpp +index 19ece50a..8ea4d9fa 100644 +--- a/src/WebModules.cpp ++++ b/src/WebModules.cpp +@@ -563,7 +563,7 @@ CString CWebSock::GetSkinPath(const CString& sSkinName) { + sRet = CZNC::Get().GetCurPath() + "/webskins/" + sSkinName; + + if (!CFile::IsDir(sRet)) { +- sRet = CString(_SKINDIR_) + "/" + sSkinName; ++ sRet = CZNC::UnusualRoot() + CString(_SKINDIR_) + "/" + sSkinName; + } + } + +diff --git a/src/znc.cpp b/src/znc.cpp +index 4e7216ee..dd901497 100644 +--- a/src/znc.cpp ++++ b/src/znc.cpp +@@ -2130,3 +2130,8 @@ void CZNC::DisableConfigTimer() { + m_pConfigTimer = nullptr; + } + } ++ ++CString CZNC::UnusualRoot() { ++ char* szUnusualRoot = getenv("ZNC_UNUSUAL_ROOT"); ++ return szUnusualRoot ? szUnusualRoot : ""; ++} |