diff --git a/pdf.c b/pdf.c index 6d1c9f3ca239a35add68c5269752be5a0de115c2..07351a5cae67103cd330e2fd998a18fa5be3c9ae 100644 --- a/pdf.c +++ b/pdf.c @@ -432,7 +432,7 @@ act_xrstm(const HParseResult *p, void *u) bool validate_xrstm(HParseResult *p, void *u) { - const HCountedArray *tdict = H_FIELD_SEQ(2, 0); + const Dict *tdict = H_FIELD(Dict, 2, 0); const HParsedToken *v = dictentry(tdict, "Type"); #if 0 @@ -905,7 +905,7 @@ depred_png(struct predictor *pred, uint8_t *inp, size_t sz) } HParseResult * -FlateDecode(HCountedArray *parms, HBytes b, HParser *p) +FlateDecode(const Dict *parms, HBytes b, HParser *p) { size_t const BUFSIZE = 8 * 1024; uint8_t *buf; @@ -1013,10 +1013,10 @@ FlateDecode(HCountedArray *parms, HBytes b, HParser *p) * and parse the result with 'p'. */ HParseResult * -decode_stream(const HCountedArray *d, HBytes b, HParser *p) +decode_stream(const Dict *d, HBytes b, HParser *p) { - HParseResult *(*filter)(HCountedArray *, HBytes, HParser *); - HCountedArray *parms = NULL; + HParseResult *(*filter)(const Dict *, HBytes, HParser *); + const Dict *parms = NULL; const HParsedToken *v; v = dictentry(d, "Filter"); @@ -1036,8 +1036,8 @@ decode_stream(const HCountedArray *d, HBytes b, HParser *p) return NULL; /* filter not supported */ v = dictentry(d, "DecodeParms"); - if (v && v->token_type == TT_SEQUENCE) - parms = v->seq; + if (v && v->token_type == TT_Dict) + parms = v->user; return filter(parms, b, p); } @@ -1090,10 +1090,10 @@ p_take__m(HAllocator *mm__, size_t n, struct Env *aux) } HParser * -p_xrefdata__m(HAllocator *mm__, const HCountedArray *dict); +p_xrefdata__m(HAllocator *mm__, const Dict *dict); HParser * -p_stream_data__m(HAllocator *mm__, const HCountedArray *dict) +p_stream_data__m(HAllocator *mm__, const Dict *dict) { const HParsedToken *v; @@ -1112,7 +1112,7 @@ p_stream_data__m(HAllocator *mm__, const HCountedArray *dict) } struct streamspec { - HCountedArray *dict; /* stream dictionary */ + Dict *dict; /* stream dictionary */ HParser *parser; /* data parser */ }; @@ -1141,7 +1141,7 @@ kstream(HAllocator *mm__, const HParsedToken *x, void *env) { struct Env *aux = env; HParsedToken *dict_t = H_INDEX_TOKEN(x, 0); - HCountedArray *dict = H_CAST_SEQ(dict_t); + Dict *dict = H_CAST(Dict, dict_t); const HParsedToken *v = NULL; HParser *bytes_p, *dict_p, *value_p; struct streamspec *spec; @@ -1195,7 +1195,7 @@ p_xrefsub__m(HAllocator *mm__, size_t base, size_t count, HParser *p_entry) } HParser * -p_xrefdata__m(HAllocator *mm__, const HCountedArray *dict) +p_xrefdata__m(HAllocator *mm__, const Dict *dict) { const HParsedToken *v; HParser *p_field[3], *p_entry, **p_subs; @@ -1361,7 +1361,7 @@ kxstream(HAllocator *mm__, const HParsedToken *x, void *env) { struct Env *aux = env; HParsedToken *dict_t = H_INDEX_TOKEN(x, 0); - HCountedArray *dict = H_CAST_SEQ(dict_t); + Dict *dict = H_CAST(Dict, dict_t); const HParsedToken *v; HParser *bytes_p, *dict_p, *value_p; struct streamspec *spec;