}
break;
case T_PORT: // port for data transfer
- if (SP() && hostPort() && CRLF()) {
+ if (SPACE() && hostPort() && CRLF()) {
portCmd();
return (true);
}
}
break;
case T_CHMOD: // set file protection
- if (SP() && STRING(s, "filename") && SP() && NUMBER(n)) {
+ if (SPACE() && STRING(s, "filename") && SPACE() && NUMBER(n)) {
chmodCmd(s, (u_int) n);
return (true);
}
if (checkJobState(curJob))
jstatCmd(*curJob);
return (true);
- } else if (SP() && getToken(T_STRING, "parameter name")) {
+ } else if (SPACE() && getToken(T_STRING, "parameter name")) {
tokenBody.raisecase();
const tab* p = lookup(parmtab, N(parmtab), tokenBody);
if (p == NULL) {
}
break;
case T_JGPARM: // set/query job group parameter
- if (SP() && getToken(T_STRING, "parameter name")) {
+ if (SPACE() && getToken(T_STRING, "parameter name")) {
tokenBody.raisecase();
const tab* p = lookup(parmtab, N(parmtab), tokenBody);
if (p == NULL) {
}
break;
case T_SITE: // site-specific command
- if (SP() && getToken(T_STRING, "site command")) {
+ if (SPACE() && getToken(T_STRING, "site command")) {
tokenBody.raisecase();
const tab* p = lookup(sitetab, N(sitetab), tokenBody);
if (p == NULL) {
}
break;
case T_ANSWER: // answer phone on specific line
- if (checkadmin(T_ANSWER) && SP() && STRING(s, "modem")) {
+ if (checkadmin(T_ANSWER) && SPACE() && STRING(s, "modem")) {
fxStr how;
if (opt_CRLF())
how = "any";
}
break;
case T_CHOWN: // assign file ownership
- if (checkadmin(T_CHOWN) && SP() && STRING(s, "filename")) {
+ if (checkadmin(T_CHOWN) && SPACE() && STRING(s, "filename")) {
fxStr who;
if (string_param(who, "user")) {
chownCmd(s, who);
}
break;
case T_DISABLE: // disable outbound-usage of modem
- if (checkadmin(T_DISABLE) && SP() && STRING(s, "modem")) {
+ if (checkadmin(T_DISABLE) && SPACE() && STRING(s, "modem")) {
fxStr reason;
if (opt_CRLF())
reason = "<unspecified reason>";
- else if (!SP() || !multi_STRING(reason))
+ else if (!SPACE() || !multi_STRING(reason))
break;
disableModemCmd(s, reason);
return (true);
}
break;
case T_SHUT: // shutdown server
- if (checkadmin(T_SHUT) && SP() && STRING(s, "shutdown-time")) {
+ if (checkadmin(T_SHUT) && SPACE() && STRING(s, "shutdown-time")) {
fxStr reason;
if (opt_CRLF())
reason = "<unspecified reason>";
- else if (!SP() || !multi_STRING(reason))
+ else if (!SPACE() || !multi_STRING(reason))
break;
const char* cp = s;
if (s.length() == 3 && strcasecmp(cp, "NOW") == 0) {
switch (t) {
case T_ADDUSER:
- if (checkadmin(T_ADDUSER) && SP() && STRING(s, "user-spec")) {
+ if (checkadmin(T_ADDUSER) && SPACE() && STRING(s, "user-spec")) {
fxStr pass;
if (opt_CRLF()) {
addUserCmd(s, "", "");
return (true);
- } else if (SP() && STRING(pass, "password")) {
+ } else if (SPACE() && STRING(pass, "password")) {
fxStr apass;
if (opt_CRLF()) {
addUserCmd(s, pass, "");
}
break;
case T_CONFIG:
- if (checkadmin(T_CONFIG) && SP() && STRING(s, "modem")) {
+ if (checkadmin(T_CONFIG) && SPACE() && STRING(s, "modem")) {
fxStr config;
if (opt_CRLF()) {
configQueryCmd(s);
return (true);
- } else if (SP() && multi_STRING(config)) {
+ } else if (SPACE() && multi_STRING(config)) {
configCmd(s, config);
return (true);
}
if (opt_CRLF()) {
replyJobParamValue(*curJob, 213, t);
return (true);
- } else if (SP() && getToken(T_STRING, "time specification")) {
+ } else if (SPACE() && getToken(T_STRING, "time specification")) {
tokenBody.raisecase();
if (tokenBody == "NOW") {
if (CRLF() && setJobParameter(*curJob, t, (time_t) 0)) {
if (opt_CRLF()) {
replyJobParamValue(*curJob, 213, t);
return (true);
- } else if (SP() && multi_STRING(s) && CRLF() &&
+ } else if (SPACE() && multi_STRING(s) && CRLF() &&
setJobParameter(*curJob, t, s)) {
reply(213, "%s set to \"%s\".", parmToken(t), (const char*) s);
return (true);
if (opt_CRLF()) {
replyJobParamValue(*curJob, 213, t);
return (true);
- } else if (SP() && STRING(s, "polling selector")) {
+ } else if (SPACE() && STRING(s, "polling selector")) {
fxStr pwd;
if (opt_CRLF()) {
addPollOp(*curJob, s, ""); // sep but no pwd
return (true);
- } else if (SP() && pwd_param(pwd) && CRLF()) {
+ } else if (SPACE() && pwd_param(pwd) && CRLF()) {
addPollOp(*curJob, s, pwd); // sep & pwd
return (true);
}
bool
HylaFAXServer::string_param(fxStr& s, const char* what)
{
- return SP() && STRING(s, what) && CRLF();
+ return SPACE() && STRING(s, what) && CRLF();
}
/*
bool
HylaFAXServer::number_param(long& n)
{
- return SP() && NUMBER(n) && CRLF();
+ return SPACE() && NUMBER(n) && CRLF();
}
/*
bool
HylaFAXServer::boolean_param(bool& b)
{
- return SP() && BOOLEAN(b) && CRLF();
+ return SPACE() && BOOLEAN(b) && CRLF();
}
/*
bool
HylaFAXServer::timespec_param(int ndigits, time_t& t)
{
- return SP() && TIMESPEC(ndigits, t) && CRLF();
+ return SPACE() && TIMESPEC(ndigits, t) && CRLF();
}
/*
bool
HylaFAXServer::pathname_param(fxStr& s)
{
- return SP() && pathname(s) && CRLF();
+ return SPACE() && pathname(s) && CRLF();
}
/*
if (opt_CRLF()) {
jid = curJob->jobid;
return (true);
- } else if (SP() && STRING(jid, "job identifer") && CRLF()) {
+ } else if (SPACE() && STRING(jid, "job identifer") && CRLF()) {
jid.lowercase();
return (true);
}
if (opt_CRLF()) {
jgid = curJob->groupid;
return (true);
- } else if (SP() && STRING(jgid, "job group identifier") && CRLF()) {
+ } else if (SPACE() && STRING(jgid, "job group identifier") && CRLF()) {
jgid.lowercase();
return (true);
}
return (true);
}
-bool HylaFAXServer::SP() { return getToken(T_SP, "<SP>"); }
+bool HylaFAXServer::SPACE() { return getToken(T_SP, "<SP>"); }
bool HylaFAXServer::COMMA() { return getToken(T_COMMA, "\",\""); }
bool HylaFAXServer::CRLF() { return getToken(T_CRLF, "<CRLF>"); }
bool HylaFAXServer::opt_CRLF() { return checkToken(T_CRLF); }
}
break;
case T_HOLDUNTIL: // set time to send
- if (SP() && SNPPTime(tv)) {
+ if (SPACE() && SNPPTime(tv)) {
if (opt_CRLF()) {
holdCmd(tv);
return (true);
}
break;
case T_LOGIN: // login as user
- if (SP() && STRING(s, "login-ID")) {
+ if (SPACE() && STRING(s, "login-ID")) {
fxStr pwd;
if (opt_CRLF()) {
logcmd(t, (const char*) s);
}
break;
case T_MESSAGE: // specify 1-line message data
- if (SP() && multi_STRING(s) && CRLF()) {
+ if (SPACE() && multi_STRING(s) && CRLF()) {
logcmd(t, "%s", (const char*) s);
messageCmd(s);
return (true);
}
break;
case T_PAGER: // specify destination pager ID
- if (SP() && STRING(s, "pager-ID")) {
+ if (SPACE() && STRING(s, "pager-ID")) {
fxStr pwd;
if (opt_CRLF()) {
logcmd(t, "%s", (const char*) s);
}
break;
case T_SITE: // site-specific command
- if (SP() && getToken(T_STRING, "site command")) {
+ if (SPACE() && getToken(T_STRING, "site command")) {
tokenBody.raisecase();
const tab* p = lookup(sitetab, N(sitetab), tokenBody);
if (p == NULL) {
}
break;
case T_SUBJECT: // message subject
- if (SP() && multi_STRING(s) && CRLF()) {
+ if (SPACE() && multi_STRING(s) && CRLF()) {
logcmd(t, "%s", (const char*) s);
subjectCmd(s);
return (true);
case T_MODEM:
case T_NOTIFY:
case T_NOTIFYADDR:
- if (SP() && multi_STRING(s) && CRLF() && setJobParameter(defJob, t, s)) {
+ if (SPACE() && multi_STRING(s) && CRLF() && setJobParameter(defJob, t, s)) {
logcmd(t, "%s", (const char*) s);
reply(250, "%s set to \"%s\".", parmToken(t), (const char*) s);
return (true);