From 8a8a09d72efb0c2593edcbdf0327cf0bc36a15b2 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Sat, 8 Feb 2020 15:04:16 +0100
Subject: [PATCH] convert all call sites of dictentry() to use type Dict

---
 pdf.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/pdf.c b/pdf.c
index 6d1c9f3..07351a5 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;
-- 
GitLab