aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_randquote.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-07-03 17:26:40 +0100
committerGravatar Sadie Powell2023-07-03 18:43:58 +0100
commit386f0dafd55897723356c75299cd02ed0b882f5b (patch)
treebe31de75870a0e1da815cf5f4203fed793eb66ba /src/modules/m_randquote.cpp
parentFix a minor Doxygen comment issue. (diff)
Replace FileReader with something more sensible.
Diffstat (limited to 'src/modules/m_randquote.cpp')
-rw-r--r--src/modules/m_randquote.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/modules/m_randquote.cpp b/src/modules/m_randquote.cpp
index ceb2b1982..beecd2680 100644
--- a/src/modules/m_randquote.cpp
+++ b/src/modules/m_randquote.cpp
@@ -22,7 +22,6 @@
#include "inspircd.h"
-#include "fileutils.h"
class ModuleRandQuote final
: public Module
@@ -43,8 +42,17 @@ public:
const auto& conf = ServerInstance->Config->ConfValue("randquote");
prefix = conf->getString("prefix");
suffix = conf->getString("suffix");
- FileReader reader(conf->getString("file", "quotes", 1));
- quotes = reader.GetVector();
+
+ const std::string filestr = conf->getString("file", "quotes", 1);
+ auto file = ServerInstance->Config->ReadFile(filestr);
+ if (!file)
+ throw ModuleException(this, "Unable to read quotes from " + filestr + ": " + file.error);
+
+ std::vector<std::string> newquotes;
+ irc::sepstream linestream(file.contents, '\n');
+ for (std::string line; linestream.GetToken(line); )
+ newquotes.push_back(line);
+ std::swap(quotes, newquotes);
}
void OnUserConnect(LocalUser* user) override