diff --git a/pdf.c b/pdf.c index 091e8dda35cc49246ad5cc6cffc88aec557402fe..ae6ead34d3d7be6069bb49e625097893f1b61822 100644 --- a/pdf.c +++ b/pdf.c @@ -233,7 +233,6 @@ act_nat(const HParseResult *p, void *u) return H_MAKE_UINT(x); } -#define act_xrnat act_nat #define act_xroff act_nat #define act_xrgen act_nat @@ -637,8 +636,7 @@ init_parser(struct Env *aux) H_ARULE(xroff, REP(digit, 10)); H_ARULE(xrgen, REP(digit, 5)); H_ARULE(xrent, SEQ(xroff, IGN(sp), xrgen, IGN(sp), xrtyp, IGN(xreol))); - H_ARULE(xrnat, h_many1(digit)); - H_RULE(xrhead, SEQ(xrnat, IGN(sp), xrnat, nl)); + H_RULE(xrhead, SEQ(nat, IGN(sp), nat, nl)); H_RULE(xrsub, SEQ(xrhead, h_many(xrent))); H_ARULE(xrefs, SEQ(KW("xref"), nl, h_many(xrsub))); @@ -649,7 +647,7 @@ init_parser(struct Env *aux) /* trailer */ H_RULE(startxr, SEQ(nl, KW("startxref"), nl, - lws, xrnat, nl, + lws, nat, nl, LIT("%%EOF"), CHX(nl, end))); // XXX should lws be allowed before EOF marker? // NB: lws before xref offset is allowed, cf. p.48 (example 4)