diff --git a/Utils.h b/Utils.h index e9f8e984..a5546b5f 100644 --- a/Utils.h +++ b/Utils.h @@ -51,6 +51,7 @@ public: static CString GetIP(unsigned long addr); static unsigned long GetLongIP(const CString& sIP); static void SetStdoutIsTTY(bool b) { stdoutIsTTY = b; } + static bool StdoutIsTTY() { return stdoutIsTTY; } static void SetDebug(bool b) { debug = b; } static bool Debug() { return debug; } diff --git a/znc.cpp b/znc.cpp index 3a2bd3b0..d29db9e6 100644 --- a/znc.cpp +++ b/znc.cpp @@ -664,8 +664,12 @@ bool CZNC::WriteNewConfig(const CString& sConfigFile) { const CModInfo& Info = *it; CString sName = Info.GetName(); - if (CUtils::GetBoolInput("Load global module <\033[1m" + sName + "\033[22m>?", false)) { - vsLines.push_back("LoadModule = " + sName); + if (CUtils::StdoutIsTTY()) { + if (CUtils::GetBoolInput("Load global module <\033[1m" + sName + "\033[22m>?", false)) + vsLines.push_back("LoadModule = " + sName); + } else { + if (CUtils::GetBoolInput("Load global module <" + sName + ">?", false)) + vsLines.push_back("LoadModule = " + sName); } } } @@ -764,8 +768,12 @@ bool CZNC::WriteNewConfig(const CString& sConfigFile) { const CModInfo& Info = *it; CString sName = Info.GetName(); - if (CUtils::GetBoolInput("Load module <\033[1m" + sName + "\033[22m>?", false)) { - vsLines.push_back("\tLoadModule = " + sName); + if (CUtils::StdoutIsTTY()) { + if (CUtils::GetBoolInput("Load module <\033[1m" + sName + "\033[22m>?", false)) + vsLines.push_back("\tLoadModule = " + sName); + } else { + if (CUtils::GetBoolInput("Load module <" + sName + ">?", false)) + vsLines.push_back("\tLoadModule = " + sName); } } }