{
fr_sbuff_term_t const bareword_terminals =
FR_SBUFF_TERMS(
- L("\n"),
+ L(""), /* Hack for EOF */
L("\t"),
+ L("\n"),
L(" "),
L("!*"),
L("!="),
L(">"),
L(">="),
L("||"), /* Logical operator */
- L("") /* Hack for EOF */
);
fr_sbuff_t our_in = FR_SBUFF(in);
);
static const fr_sbuff_term_t operator_terms = FR_SBUFF_TERMS(
- L(" "),
L("\t"),
- L("\r"),
L("\n"),
+ L("\r"),
+ L(" "),
+ L("!"),
+ L("%"),
+ L("&"),
+ L("*"),
L("+"),
L("-"),
L("/"),
- L("*"),
+ L("<"),
L("="),
- L("%"),
- L("!"),
- L("~"),
- L("&"),
- L("|"),
- L("^"),
L(">"),
- L("<"),
+ L("^"),
+ L("|"),
+ L("~"),
);
ssize_t xlat_tokenize_expression(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t *in,