EATTWO
} else if (p->gnuext && EATTWO('\\', '?')) {
} else if (p->gnuext && EATTWO('\\', '+')) {
} else if (EATTWO('\\', '{')) {
if (!EATTWO('\\', '}')) { /* error heuristics */
(void)REQUIRE(EATTWO(':', ']'), REG_ECTYPE);
(void)REQUIRE(EATTWO('=', ']'), REG_ECOLLATE);
if (!EATTWO('[', '.'))
(void)REQUIRE(EATTWO('.', ']'), REG_ECOLLATE);
#define EATSPEC(a) (p->bre ? EATTWO('\\', a) : EAT(a))
(void)REQUIRE(EATTWO('\\', ')'), REG_EPAREN);