summaryrefslogtreecommitdiff
path: root/src/recursivedescent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/recursivedescent.cc')
-rw-r--r--src/recursivedescent.cc599
1 files changed, 432 insertions, 167 deletions
diff --git a/src/recursivedescent.cc b/src/recursivedescent.cc
index be9c560..0f0cf8d 100644
--- a/src/recursivedescent.cc
+++ b/src/recursivedescent.cc
@@ -4,18 +4,20 @@
* @author Andreas Aardal Hanssen
* @date 2002-2005
* ----------------------------------------------------------------- **/
-#include "imapparser.h"
#include "recursivedescent.h"
+
+#include "convert.h"
+#include "imapparser.h"
#include "iodevice.h"
#include "iofactory.h"
-#include "convert.h"
#include "session.h"
-#include <stdio.h>
-#include <ctype.h>
-#include <stack>
-#include <iostream>
#include <iomanip>
+#include <iostream>
+#include <stack>
+
+#include <ctype.h>
+#include <stdio.h>
using namespace ::std;
using namespace Binc;
@@ -23,7 +25,6 @@ using namespace Binc;
stack<int> Binc::inputBuffer;
int Binc::charnr = 0;
-
//----------------------------------------------------------------------
Operator::ParseResult Binc::expectThisString(const string &s_in)
{
@@ -33,7 +34,6 @@ Operator::ParseResult Binc::expectThisString(const string &s_in)
bool match = true;
for (string::const_iterator i = s_in.begin(); i != s_in.end(); ++i) {
-
char c;
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
@@ -49,7 +49,7 @@ Operator::ParseResult Binc::expectThisString(const string &s_in)
break;
}
}
-
+
if (!match) {
bincClient.unreadStr(tmp);
return Operator::REJECT;
@@ -62,8 +62,7 @@ Operator::ParseResult Binc::expectDateTime(string &s_in)
{
Session &session = Session::getInstance();
- if (expectThisString("\"") != Operator::ACCEPT)
- return Operator::REJECT;
+ if (expectThisString("\"") != Operator::ACCEPT) return Operator::REJECT;
unsigned int digit1, digit2;
if (expectSPACE() == Operator::ACCEPT) {
@@ -89,8 +88,7 @@ Operator::ParseResult Binc::expectDateTime(string &s_in)
BincStream daystr;
- if (day < 10)
- daystr << '0';
+ if (day < 10) daystr << '0';
daystr << day;
s_in += daystr.str();
@@ -104,18 +102,30 @@ Operator::ParseResult Binc::expectDateTime(string &s_in)
s_in += "-";
/* month */
- if ((res = expectThisString("Jan")) == Operator::ACCEPT) s_in += "Jan";
- else if ((res = expectThisString("Feb")) == Operator::ACCEPT) s_in += "Feb";
- else if ((res = expectThisString("Mar")) == Operator::ACCEPT) s_in += "Mar";
- else if ((res = expectThisString("Apr")) == Operator::ACCEPT) s_in += "Apr";
- else if ((res = expectThisString("May")) == Operator::ACCEPT) s_in += "May";
- else if ((res = expectThisString("Jun")) == Operator::ACCEPT) s_in += "Jun";
- else if ((res = expectThisString("Jul")) == Operator::ACCEPT) s_in += "Jul";
- else if ((res = expectThisString("Aug")) == Operator::ACCEPT) s_in += "Aug";
- else if ((res = expectThisString("Sep")) == Operator::ACCEPT) s_in += "Sep";
- else if ((res = expectThisString("Oct")) == Operator::ACCEPT) s_in += "Oct";
- else if ((res = expectThisString("Nov")) == Operator::ACCEPT) s_in += "Nov";
- else if ((res = expectThisString("Dec")) == Operator::ACCEPT) s_in += "Dec";
+ if ((res = expectThisString("Jan")) == Operator::ACCEPT)
+ s_in += "Jan";
+ else if ((res = expectThisString("Feb")) == Operator::ACCEPT)
+ s_in += "Feb";
+ else if ((res = expectThisString("Mar")) == Operator::ACCEPT)
+ s_in += "Mar";
+ else if ((res = expectThisString("Apr")) == Operator::ACCEPT)
+ s_in += "Apr";
+ else if ((res = expectThisString("May")) == Operator::ACCEPT)
+ s_in += "May";
+ else if ((res = expectThisString("Jun")) == Operator::ACCEPT)
+ s_in += "Jun";
+ else if ((res = expectThisString("Jul")) == Operator::ACCEPT)
+ s_in += "Jul";
+ else if ((res = expectThisString("Aug")) == Operator::ACCEPT)
+ s_in += "Aug";
+ else if ((res = expectThisString("Sep")) == Operator::ACCEPT)
+ s_in += "Sep";
+ else if ((res = expectThisString("Oct")) == Operator::ACCEPT)
+ s_in += "Oct";
+ else if ((res = expectThisString("Nov")) == Operator::ACCEPT)
+ s_in += "Nov";
+ else if ((res = expectThisString("Dec")) == Operator::ACCEPT)
+ s_in += "Dec";
else {
session.setLastError("expected month");
return res;
@@ -126,7 +136,7 @@ Operator::ParseResult Binc::expectDateTime(string &s_in)
return res;
}
- s_in += "-";
+ s_in += "-";
/* year */
unsigned int year, c;
@@ -157,7 +167,7 @@ Operator::ParseResult Binc::expectDateTime(string &s_in)
year = (year * 10) + c;
BincStream yearstr;
-
+
yearstr << year;
s_in += yearstr.str();
@@ -201,8 +211,7 @@ Operator::ParseResult Binc::expectTime(string &s_in)
unsigned int c, t;
Operator::ParseResult res;
- if ((res = expectDigit(t)) != Operator::ACCEPT)
- return res;
+ if ((res = expectDigit(t)) != Operator::ACCEPT) return res;
if ((res = expectDigit(c)) != Operator::ACCEPT) {
session.setLastError("expected digit");
@@ -315,7 +324,7 @@ Operator::ParseResult Binc::expectZone(string &s_in)
tstr << t;
s_in += tstr.str();
-
+
return Operator::ACCEPT;
}
@@ -337,15 +346,14 @@ Operator::ParseResult Binc::expectListWildcards(int &c_in)
Operator::ParseResult Binc::expectListMailbox(string &s_in)
{
Operator::ParseResult res;
- if ((res = expectString(s_in)) == Operator::ACCEPT)
- return Operator::ACCEPT;
-
+ if ((res = expectString(s_in)) == Operator::ACCEPT) return Operator::ACCEPT;
+
int c;
- if ((res = expectAtomChar(c)) == Operator::ACCEPT
- || (res = expectListWildcards(c)) == Operator::ACCEPT
- || (res = expectThisString("]")) == Operator::ACCEPT) {
+ if ((res = expectAtomChar(c)) == Operator::ACCEPT || (res = expectListWildcards(c)) == Operator::ACCEPT
+ || (res = expectThisString("]")) == Operator::ACCEPT)
+ {
do {
- s_in += (char) c;
+ s_in += (char)c;
if ((res = expectAtomChar(c)) != Operator::ACCEPT
&& (res = expectListWildcards(c)) != Operator::ACCEPT
&& (res = expectThisString("]")) != Operator::ACCEPT)
@@ -369,9 +377,9 @@ Operator::ParseResult Binc::expectFlag(vector<string> &v_in)
v_in.push_back("\\Answered");
else if ((res = expectThisString("\\Flagged")) == Operator::ACCEPT)
v_in.push_back("\\Flagged");
- else if ((res = expectThisString("\\Deleted")) == Operator::ACCEPT)
+ else if ((res = expectThisString("\\Deleted")) == Operator::ACCEPT)
v_in.push_back("\\Deleted");
- else if ((res = expectThisString("\\Seen")) == Operator::ACCEPT)
+ else if ((res = expectThisString("\\Seen")) == Operator::ACCEPT)
v_in.push_back("\\Seen");
else if ((res = expectThisString("\\Draft")) == Operator::ACCEPT)
v_in.push_back("\\Draft");
@@ -402,15 +410,13 @@ Operator::ParseResult Binc::expectDate(string &s_in)
Operator::ParseResult res;
bool quoted = false;
- if ((res = expectThisString("\"")) == Operator::ACCEPT)
- quoted = true;
+ if ((res = expectThisString("\"")) == Operator::ACCEPT) quoted = true;
/* day */
unsigned int day, c;
if ((res = expectDigit(c)) == Operator::ACCEPT) {
day = c;
- if ((res = expectDigit(c)) == Operator::ACCEPT)
- day = (day * 10) + c;
+ if ((res = expectDigit(c)) == Operator::ACCEPT) day = (day * 10) + c;
BincStream daystr;
@@ -431,23 +437,35 @@ Operator::ParseResult Binc::expectDate(string &s_in)
s_in += '-';
/* month */
- if ((res = expectThisString("Jan")) == Operator::ACCEPT) s_in += "Jan";
- else if ((res = expectThisString("Feb")) == Operator::ACCEPT) s_in += "Feb";
- else if ((res = expectThisString("Mar")) == Operator::ACCEPT) s_in += "Mar";
- else if ((res = expectThisString("Apr")) == Operator::ACCEPT) s_in += "Apr";
- else if ((res = expectThisString("May")) == Operator::ACCEPT) s_in += "May";
- else if ((res = expectThisString("Jun")) == Operator::ACCEPT) s_in += "Jun";
- else if ((res = expectThisString("Jul")) == Operator::ACCEPT) s_in += "Jul";
- else if ((res = expectThisString("Aug")) == Operator::ACCEPT) s_in += "Aug";
- else if ((res = expectThisString("Sep")) == Operator::ACCEPT) s_in += "Sep";
- else if ((res = expectThisString("Oct")) == Operator::ACCEPT) s_in += "Oct";
- else if ((res = expectThisString("Nov")) == Operator::ACCEPT) s_in += "Nov";
- else if ((res = expectThisString("Dec")) == Operator::ACCEPT) s_in += "Dec";
+ if ((res = expectThisString("Jan")) == Operator::ACCEPT)
+ s_in += "Jan";
+ else if ((res = expectThisString("Feb")) == Operator::ACCEPT)
+ s_in += "Feb";
+ else if ((res = expectThisString("Mar")) == Operator::ACCEPT)
+ s_in += "Mar";
+ else if ((res = expectThisString("Apr")) == Operator::ACCEPT)
+ s_in += "Apr";
+ else if ((res = expectThisString("May")) == Operator::ACCEPT)
+ s_in += "May";
+ else if ((res = expectThisString("Jun")) == Operator::ACCEPT)
+ s_in += "Jun";
+ else if ((res = expectThisString("Jul")) == Operator::ACCEPT)
+ s_in += "Jul";
+ else if ((res = expectThisString("Aug")) == Operator::ACCEPT)
+ s_in += "Aug";
+ else if ((res = expectThisString("Sep")) == Operator::ACCEPT)
+ s_in += "Sep";
+ else if ((res = expectThisString("Oct")) == Operator::ACCEPT)
+ s_in += "Oct";
+ else if ((res = expectThisString("Nov")) == Operator::ACCEPT)
+ s_in += "Nov";
+ else if ((res = expectThisString("Dec")) == Operator::ACCEPT)
+ s_in += "Dec";
else {
session.setLastError("expected month");
return res;
}
-
+
/* - */
if ((res = expectThisString("-")) != Operator::ACCEPT) {
session.setLastError("expected -");
@@ -495,7 +513,7 @@ Operator::ParseResult Binc::expectDate(string &s_in)
session.setLastError("expected \"");
return res;
}
-
+
return Operator::ACCEPT;
}
@@ -503,8 +521,7 @@ Operator::ParseResult Binc::expectDate(string &s_in)
Operator::ParseResult Binc::expectCRLF(void)
{
Operator::ParseResult res;
- if ((res = expectCR()) == Operator::ACCEPT
- && (res = expectLF()) == Operator::ACCEPT)
+ if ((res = expectCR()) == Operator::ACCEPT && (res = expectLF()) == Operator::ACCEPT)
return Operator::ACCEPT;
else
return res;
@@ -519,8 +536,7 @@ Operator::ParseResult Binc::expectCR(void)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
@@ -541,8 +557,7 @@ Operator::ParseResult Binc::expectLF(void)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
@@ -558,38 +573,108 @@ Operator::ParseResult Binc::expectLF(void)
Operator::ParseResult Binc::expectTagChar(int &c_in)
{
Session &session = Session::getInstance();
-
+
char c;
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
switch (c) {
- case 041: case 043: case 044: case 046: case 047: case 054:
- case 055: case 056: case 057: case 060: case 061: case 062:
- case 063: case 064: case 065: case 066: case 067: case 070:
- case 071: case 072: case 073: case 074: case 075: case 076:
- case 077: case 0100: case 0101: case 0102: case 0103: case 0104:
- case 0105: case 0106: case 0107: case 0110: case 0111: case 0112:
- case 0113: case 0114: case 0115: case 0116: case 0117: case 0120:
- case 0121: case 0122: case 0123: case 0124: case 0125: case 0126:
- case 0127: case 0130: case 0131: case 0132: case 0133: case 0135:
- case 0136: case 0137: case 0140: case 0141: case 0142: case 0143:
- case 0144: case 0145: case 0146: case 0147: case 0150: case 0151:
- case 0152: case 0153: case 0154: case 0155: case 0156: case 0157:
- case 0160: case 0161: case 0162: case 0163: case 0164: case 0165:
- case 0166: case 0167: case 0170: case 0171: case 0172: case 0174:
- case 0175: case 0176:
+ case 041:
+ case 043:
+ case 044:
+ case 046:
+ case 047:
+ case 054:
+ case 055:
+ case 056:
+ case 057:
+ case 060:
+ case 061:
+ case 062:
+ case 063:
+ case 064:
+ case 065:
+ case 066:
+ case 067:
+ case 070:
+ case 071:
+ case 072:
+ case 073:
+ case 074:
+ case 075:
+ case 076:
+ case 077:
+ case 0100:
+ case 0101:
+ case 0102:
+ case 0103:
+ case 0104:
+ case 0105:
+ case 0106:
+ case 0107:
+ case 0110:
+ case 0111:
+ case 0112:
+ case 0113:
+ case 0114:
+ case 0115:
+ case 0116:
+ case 0117:
+ case 0120:
+ case 0121:
+ case 0122:
+ case 0123:
+ case 0124:
+ case 0125:
+ case 0126:
+ case 0127:
+ case 0130:
+ case 0131:
+ case 0132:
+ case 0133:
+ case 0135:
+ case 0136:
+ case 0137:
+ case 0140:
+ case 0141:
+ case 0142:
+ case 0143:
+ case 0144:
+ case 0145:
+ case 0146:
+ case 0147:
+ case 0150:
+ case 0151:
+ case 0152:
+ case 0153:
+ case 0154:
+ case 0155:
+ case 0156:
+ case 0157:
+ case 0160:
+ case 0161:
+ case 0162:
+ case 0163:
+ case 0164:
+ case 0165:
+ case 0166:
+ case 0167:
+ case 0170:
+ case 0171:
+ case 0172:
+ case 0174:
+ case 0175:
+ case 0176:
c_in = c;
return Operator::ACCEPT;
default:
break;
}
-
+
bincClient.unreadChar(c);
return Operator::REJECT;
@@ -643,8 +728,7 @@ Operator::ParseResult Binc::expectSPACE(void)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
@@ -667,11 +751,9 @@ Operator::ParseResult Binc::expectMailbox(string &s_in)
Operator::ParseResult Binc::expectAstring(string &s_in)
{
Operator::ParseResult res;
- if ((res = expectAtom(s_in)) == Operator::ACCEPT)
- return Operator::ACCEPT;
+ if ((res = expectAtom(s_in)) == Operator::ACCEPT) return Operator::ACCEPT;
- if ((res = expectString(s_in)) == Operator::ACCEPT)
- return Operator::ACCEPT;
+ if ((res = expectString(s_in)) == Operator::ACCEPT) return Operator::ACCEPT;
return res;
}
@@ -685,33 +767,104 @@ Operator::ParseResult Binc::expectAtomChar(int &c_in)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
switch (c) {
- case 041: case 043: case 044: case 046: case 047: case 053:
- case 054: case 055: case 056: case 057: case 060: case 061:
- case 062: case 063: case 064: case 065: case 066: case 067:
- case 070: case 071: case 072: case 073: case 074: case 075:
- case 076: case 077: case 0100: case 0101: case 0102: case 0103:
- case 0104: case 0105: case 0106: case 0107: case 0110: case 0111:
- case 0112: case 0113: case 0114: case 0115: case 0116: case 0117:
- case 0120: case 0121: case 0122: case 0123: case 0124: case 0125:
- case 0126: case 0127: case 0130: case 0131: case 0132: case 0133:
- case 0135: case 0136: case 0137: case 0140: case 0141: case 0142:
- case 0143: case 0144: case 0145: case 0146: case 0147: case 0150:
- case 0151: case 0152: case 0153: case 0154: case 0155: case 0156:
- case 0157: case 0160: case 0161: case 0162: case 0163: case 0164:
- case 0165: case 0166: case 0167: case 0170: case 0171: case 0172:
- case 0174: case 0175: case 0176:
+ case 041:
+ case 043:
+ case 044:
+ case 046:
+ case 047:
+ case 053:
+ case 054:
+ case 055:
+ case 056:
+ case 057:
+ case 060:
+ case 061:
+ case 062:
+ case 063:
+ case 064:
+ case 065:
+ case 066:
+ case 067:
+ case 070:
+ case 071:
+ case 072:
+ case 073:
+ case 074:
+ case 075:
+ case 076:
+ case 077:
+ case 0100:
+ case 0101:
+ case 0102:
+ case 0103:
+ case 0104:
+ case 0105:
+ case 0106:
+ case 0107:
+ case 0110:
+ case 0111:
+ case 0112:
+ case 0113:
+ case 0114:
+ case 0115:
+ case 0116:
+ case 0117:
+ case 0120:
+ case 0121:
+ case 0122:
+ case 0123:
+ case 0124:
+ case 0125:
+ case 0126:
+ case 0127:
+ case 0130:
+ case 0131:
+ case 0132:
+ case 0133:
+ case 0135:
+ case 0136:
+ case 0137:
+ case 0140:
+ case 0141:
+ case 0142:
+ case 0143:
+ case 0144:
+ case 0145:
+ case 0146:
+ case 0147:
+ case 0150:
+ case 0151:
+ case 0152:
+ case 0153:
+ case 0154:
+ case 0155:
+ case 0156:
+ case 0157:
+ case 0160:
+ case 0161:
+ case 0162:
+ case 0163:
+ case 0164:
+ case 0165:
+ case 0166:
+ case 0167:
+ case 0170:
+ case 0171:
+ case 0172:
+ case 0174:
+ case 0175:
+ case 0176:
c_in = c;
return Operator::ACCEPT;
default:
break;
}
-
+
bincClient.unreadChar(c);
return Operator::REJECT;
}
@@ -739,11 +892,9 @@ Operator::ParseResult Binc::expectAtom(string &s_in)
Operator::ParseResult Binc::expectString(string &s_in)
{
Operator::ParseResult res;
- if ((res = expectQuoted(s_in)) == Operator::ACCEPT)
- return Operator::ACCEPT;
+ if ((res = expectQuoted(s_in)) == Operator::ACCEPT) return Operator::ACCEPT;
- if ((res = expectLiteral(s_in)) == Operator::ACCEPT)
- return Operator::ACCEPT;
+ if ((res = expectLiteral(s_in)) == Operator::ACCEPT) return Operator::ACCEPT;
return res;
}
@@ -755,9 +906,8 @@ Operator::ParseResult Binc::expectQuoted(string &s_in)
int quotedchar;
Operator::ParseResult res;
- if ((res = expectThisString("\"")) != Operator::ACCEPT)
- return res;
-
+ if ((res = expectThisString("\"")) != Operator::ACCEPT) return res;
+
while ((res = expectQuotedChar(quotedchar)) == Operator::ACCEPT)
quoted += quotedchar;
@@ -779,28 +929,134 @@ Operator::ParseResult Binc::expectQuotedChar(int &c_in)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
switch (c) {
- case 01: case 02: case 03: case 04: case 05: case 06: case 07:
- case 010: case 011: case 013: case 014: case 016: case 017:
- case 020: case 021: case 022: case 023: case 024: case 025: case 026: case 027:
- case 030: case 031: case 032: case 033: case 034: case 035: case 036: case 037:
- case 040: case 041: case 043: case 044: case 045: case 046: case 047:
- case 050: case 051: case 052: case 053: case 054: case 055: case 056: case 057:
- case 060: case 061: case 062: case 063: case 064: case 065: case 066: case 067:
- case 070: case 071: case 072: case 073: case 074: case 075: case 076: case 077:
- case 0100: case 0101: case 0102: case 0103: case 0104: case 0105: case 0106: case 0107:
- case 0110: case 0111: case 0112: case 0113: case 0114: case 0115: case 0116: case 0117:
- case 0120: case 0121: case 0122: case 0123: case 0124: case 0125: case 0126: case 0127:
- case 0130: case 0131: case 0132: case 0133: case 0135: case 0136: case 0137:
- case 0140: case 0141: case 0142: case 0143: case 0144: case 0145: case 0146: case 0147:
- case 0150: case 0151: case 0152: case 0153: case 0154: case 0155: case 0156: case 0157:
- case 0160: case 0161: case 0162: case 0163: case 0164: case 0165: case 0166: case 0167:
- case 0170: case 0171: case 0172: case 0173: case 0174: case 0175: case 0176: case 0177:
+ case 01:
+ case 02:
+ case 03:
+ case 04:
+ case 05:
+ case 06:
+ case 07:
+ case 010:
+ case 011:
+ case 013:
+ case 014:
+ case 016:
+ case 017:
+ case 020:
+ case 021:
+ case 022:
+ case 023:
+ case 024:
+ case 025:
+ case 026:
+ case 027:
+ case 030:
+ case 031:
+ case 032:
+ case 033:
+ case 034:
+ case 035:
+ case 036:
+ case 037:
+ case 040:
+ case 041:
+ case 043:
+ case 044:
+ case 045:
+ case 046:
+ case 047:
+ case 050:
+ case 051:
+ case 052:
+ case 053:
+ case 054:
+ case 055:
+ case 056:
+ case 057:
+ case 060:
+ case 061:
+ case 062:
+ case 063:
+ case 064:
+ case 065:
+ case 066:
+ case 067:
+ case 070:
+ case 071:
+ case 072:
+ case 073:
+ case 074:
+ case 075:
+ case 076:
+ case 077:
+ case 0100:
+ case 0101:
+ case 0102:
+ case 0103:
+ case 0104:
+ case 0105:
+ case 0106:
+ case 0107:
+ case 0110:
+ case 0111:
+ case 0112:
+ case 0113:
+ case 0114:
+ case 0115:
+ case 0116:
+ case 0117:
+ case 0120:
+ case 0121:
+ case 0122:
+ case 0123:
+ case 0124:
+ case 0125:
+ case 0126:
+ case 0127:
+ case 0130:
+ case 0131:
+ case 0132:
+ case 0133:
+ case 0135:
+ case 0136:
+ case 0137:
+ case 0140:
+ case 0141:
+ case 0142:
+ case 0143:
+ case 0144:
+ case 0145:
+ case 0146:
+ case 0147:
+ case 0150:
+ case 0151:
+ case 0152:
+ case 0153:
+ case 0154:
+ case 0155:
+ case 0156:
+ case 0157:
+ case 0160:
+ case 0161:
+ case 0162:
+ case 0163:
+ case 0164:
+ case 0165:
+ case 0166:
+ case 0167:
+ case 0170:
+ case 0171:
+ case 0172:
+ case 0173:
+ case 0174:
+ case 0175:
+ case 0176:
+ case 0177:
c_in = c;
return Operator::ACCEPT;
case '\\': {
@@ -824,7 +1080,7 @@ Operator::ParseResult Binc::expectQuotedChar(int &c_in)
default:
break;
}
-
+
bincClient.unreadChar(c);
return Operator::REJECT;
}
@@ -850,8 +1106,7 @@ Operator::ParseResult Binc::expectLiteral(string &s_in)
// sent by the client with an extra '+' appended after the octet
// count.
bool literalPlus = false;
- if ((res = expectThisString("+")) == Operator::ACCEPT)
- literalPlus = true;
+ if ((res = expectThisString("+")) == Operator::ACCEPT) literalPlus = true;
if ((res = expectThisString("}")) != Operator::ACCEPT) {
session.setLastError("expected }");
@@ -900,9 +1155,8 @@ Operator::ParseResult Binc::expectNumber(unsigned int &i_in)
i_in = (i_in * 10) + n;
}
- if (res == Operator::TIMEOUT)
- return res;
-
+ if (res == Operator::TIMEOUT) return res;
+
return Operator::ACCEPT;
}
@@ -915,8 +1169,7 @@ Operator::ParseResult Binc::expectDigit(unsigned int &i_in)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
@@ -926,8 +1179,7 @@ Operator::ParseResult Binc::expectDigit(unsigned int &i_in)
} else
bincClient.unreadChar(c);
- if (expectDigitNZ(i_in) != Operator::ACCEPT)
- return Operator::REJECT;
+ if (expectDigitNZ(i_in) != Operator::ACCEPT) return Operator::REJECT;
return Operator::ACCEPT;
}
@@ -940,23 +1192,40 @@ Operator::ParseResult Binc::expectDigitNZ(unsigned int &i_in)
char c;
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
-
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
switch (c) {
- case '1': i_in = 1; break;
- case '2': i_in = 2; break;
- case '3': i_in = 3; break;
- case '4': i_in = 4; break;
- case '5': i_in = 5; break;
- case '6': i_in = 6; break;
- case '7': i_in = 7; break;
- case '8': i_in = 8; break;
- case '9': i_in = 9; break;
- case -1:
+ case '1':
+ i_in = 1;
+ break;
+ case '2':
+ i_in = 2;
+ break;
+ case '3':
+ i_in = 3;
+ break;
+ case '4':
+ i_in = 4;
+ break;
+ case '5':
+ i_in = 5;
+ break;
+ case '6':
+ i_in = 6;
+ break;
+ case '7':
+ i_in = 7;
+ break;
+ case '8':
+ i_in = 8;
+ break;
+ case '9':
+ i_in = 9;
+ break;
+ case -1:
session.setLastError(bincClient.getLastErrorString());
return Operator::ERROR;
case -2:
@@ -965,7 +1234,7 @@ Operator::ParseResult Binc::expectDigitNZ(unsigned int &i_in)
bincClient.unreadChar(c);
return Operator::REJECT;
}
-
+
return Operator::ACCEPT;
}
@@ -973,14 +1242,13 @@ Operator::ParseResult Binc::expectDigitNZ(unsigned int &i_in)
Operator::ParseResult Binc::expectSet(SequenceSet &s_in)
{
Session &session = Session::getInstance();
- unsigned int seqnum = (unsigned int) -1;
-
+ unsigned int seqnum = (unsigned int)-1;
+
Operator::ParseResult res;
/* if a set does not start with a sequencenum, then it's not a
* set. :-) seqnum == -1 means '*'. */
- if ((res = expectSequenceNum(seqnum)) != Operator::ACCEPT)
- return res;
+ if ((res = expectSequenceNum(seqnum)) != Operator::ACCEPT) return res;
/* the first number is always a part of the set */
s_in.addNumber(seqnum);
@@ -989,7 +1257,7 @@ Operator::ParseResult Binc::expectSet(SequenceSet &s_in)
* sequencenum after the colon. if not, it's a syntax error. a
* colon delimits two numbers in a range. */
if ((res = expectThisString(":")) == Operator::ACCEPT) {
- unsigned int seqnum2 = (unsigned int) -1;
+ unsigned int seqnum2 = (unsigned int)-1;
if ((res = expectSequenceNum(seqnum2)) != Operator::ACCEPT) {
session.setLastError("expected sequencenum");
return res;
@@ -1018,13 +1286,12 @@ Operator::ParseResult Binc::expectSequenceNum(unsigned int &i_in)
if (!bincClient.readChar(&c)) {
session.setLastError(bincClient.getLastErrorString());
- if (bincClient.getLastError() == IODevice::Timeout)
- return Operator::TIMEOUT;
+ if (bincClient.getLastError() == IODevice::Timeout) return Operator::TIMEOUT;
return Operator::ERROR;
}
if (c == '*') {
- i_in = (unsigned int) -1;
+ i_in = (unsigned int)-1;
return Operator::ACCEPT;
} else
bincClient.unreadChar(c);
@@ -1041,15 +1308,13 @@ Operator::ParseResult Binc::expectNZNumber(unsigned int &i_in)
unsigned int c;
Operator::ParseResult res;
- if ((res = expectDigitNZ(c)) != Operator::ACCEPT)
- return res;
+ if ((res = expectDigitNZ(c)) != Operator::ACCEPT) return res;
i_in = c;
while ((res = expectDigit(c)) == Operator::ACCEPT)
i_in = (i_in * 10) + c;
- if (res == Operator::TIMEOUT)
- return res;
+ if (res == Operator::TIMEOUT) return res;
return Operator::ACCEPT;
}