summaryrefslogtreecommitdiff
path: root/src/operator-login.cc
diff options
context:
space:
mode:
authorJannis M. Hoffmann <jannis@fehcom.de>2023-10-11 21:49:37 +0200
committerJannis M. Hoffmann <jannis@fehcom.de>2023-10-11 21:49:37 +0200
commitbc946633e0bcae5fe63528ad743bcc67de7e347d (patch)
tree7a3d127148c13d84e92f38c319fb5aad1e88a6cb /src/operator-login.cc
parent3ea7edf8c9bf7583c426178d4aaff4fb5b736bd2 (diff)
created a Parser class
Diffstat (limited to 'src/operator-login.cc')
-rw-r--r--src/operator-login.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/operator-login.cc b/src/operator-login.cc
index cef8acb..bfe6169 100644
--- a/src/operator-login.cc
+++ b/src/operator-login.cc
@@ -81,7 +81,7 @@ Operator::ProcessResult LoginOperator::process(Depot &depot, Request &command)
return Operator::ProcessResult::NOTHING;
}
-Parser::ParseResult LoginOperator::parse(Request &c_in)
+Parser::ParseResult LoginOperator::parse(Request &c_in, Parser &p)
{
constexpr auto ACCEPT = Parser::ParseResult::ACCEPT;
@@ -90,31 +90,31 @@ Parser::ParseResult LoginOperator::parse(Request &c_in)
if (c_in.getUidMode()) return Parser::ParseResult::REJECT;
Parser::ParseResult res;
- if ((res = expectSPACE()) != ACCEPT) {
+ if ((res = p.expectSPACE()) != ACCEPT) {
session.setLastError("Expected single SPACE after LOGIN");
return res;
}
std::string userid;
- if ((res = expectAstring(userid)) != ACCEPT) {
+ if ((res = p.expectAstring(userid)) != ACCEPT) {
session.setLastError("Expected userid after LOGIN SPACE");
return res;
}
c_in.setUserID(userid);
- if ((res = expectSPACE()) != ACCEPT) {
+ if ((res = p.expectSPACE()) != ACCEPT) {
session.setLastError("Expected SPACE after LOGIN SPACE userid");
return res;
}
std::string password;
- if ((res = expectAstring(password)) != ACCEPT) {
+ if ((res = p.expectAstring(password)) != ACCEPT) {
session.setLastError("Expected password after LOGIN "
"SPACE userid SPACE");
return res;
}
- if ((res = expectCRLF()) != ACCEPT) {
+ if ((res = p.expectCRLF()) != ACCEPT) {
session.setLastError("Expected CRLF after password");
return res;
}