syntax
stputs_quotes(const char *data, const char *syntax, char *p)
if (syntax[(int)*data] == CCTL)
#define STPUTS_QUOTES(data, syntax, p) p = stputs_quotes((data), syntax, p)
stputs_split(const char *data, const char *syntax, int flag, char *p,
if (flag & EXP_GLOB && syntax[(int)c] == CCTL)
#define STPUTS_SPLIT(data, syntax, flag, p, dst) p = stputs_split((data), syntax, flag, p, dst)
char const *syntax = quoted? DQSYNTAX : BASESYNTAX;
if (quotes && syntax[(int)lastc] == CCTL)
state[level].syntax = initialsyntax;
synentry = state[level].syntax[c];
if (state[level].syntax == DQSYNTAX &&
state[level].syntax == BASESYNTAX)
state[level].syntax == BASESYNTAX &&
state[level].syntax = SQSYNTAX;
state[level].syntax = DQSYNTAX;
state[level].syntax = BASESYNTAX;
state[level].syntax ==
state[level - 1].syntax) ||
state[level].syntax == BASESYNTAX))) {
state[level].syntax == DQSYNTAX &&
state[level].syntax == DQSYNTAX || state[level].syntax == ARISYNTAX);
if (state[level].syntax == ARISYNTAX)
if (state[level].syntax != BASESYNTAX && eofmark == NULL)
state[level].syntax == DQSYNTAX &&
state[level].syntax == DQSYNTAX ||
state[level].syntax == ARISYNTAX);
if (state[level].syntax == DQSYNTAX ||
state[level].syntax == ARISYNTAX)
state[level].syntax = state[level - 1].syntax;
state[level].syntax = BASESYNTAX;
} else if (c == '\'' && state[level].syntax == BASESYNTAX) {
state[level].syntax = SQSYNTAX;
state[level].syntax = ARISYNTAX;
if (state[level - 1].syntax == DQSYNTAX)
const char *syntax; /* *SYNTAX */
static void syntax(const char *, const char *);
syntax(*t_wp, "unexpected operator");
syntax(NULL, "closing paren expected");
syntax(NULL, "argument expected"); /* impossible */
syntax(op, "argument expected");
log_Printf(LogWARN, "usage: %s\n", cmd->syntax);
prompt_Printf(arg->prompt, "%s %s\n", cmd->syntax, showcx(cmd));
log_Printf(LogWARN, "usage: %s\n", arg->cmd->syntax);
const char *syntax;
arg->cmd->syntax);
arg->cmd->syntax);
arg->cmd->syntax);
arg->cmd->syntax);
arg->cmd->syntax);