From 29e7674e56bf2b829bba22def2760d034a76e788 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Mon, 11 Mar 2024 13:53:05 +0000 Subject: Replace convertTo/stringify with non-throwing alternatives. Having these throw is terrible for ergonomics and there are loads of places where the exception was either silently ignored or not handled at all. Having a function which returns an optional and another that returns a default works a lot better imo. --- modules/webcpanel/pages/memoserv/memos.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'modules/webcpanel/pages/memoserv/memos.cpp') diff --git a/modules/webcpanel/pages/memoserv/memos.cpp b/modules/webcpanel/pages/memoserv/memos.cpp index 7eec4ec02..d7fb76d74 100644 --- a/modules/webcpanel/pages/memoserv/memos.cpp +++ b/modules/webcpanel/pages/memoserv/memos.cpp @@ -73,14 +73,10 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st std::vector params; int number = -1; - try - { - number = convertTo(message.get_data["number"]); - } - catch (const ConvertException &ex) - { + if (auto num = Anope::TryConvert(message.get_data["number"])) + number = num.value(); + else replacements["MESSAGES"] = "ERROR - invalid parameter for NUMBER"; - } if (number > 0) { @@ -98,7 +94,7 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st for (unsigned i = 0; i < mi->memos->size(); ++i) { m = mi->GetMemo(i); - replacements["NUMBER"] = stringify(i+1); + replacements["NUMBER"] = Anope::ToString(i+1); replacements["SENDER"] = m->sender; replacements["TIME"] = Anope::strftime(m->time); replacements["TEXT"] = m->text; -- cgit