From 931fbb615623f00de0942f12e3e5b2b6e141b09f Mon Sep 17 00:00:00 2001 From: m-holger Date: Tue, 23 Aug 2022 00:14:43 +0100 Subject: Integrate names into state machine in QPDFTokenizer --- include/qpdf/QPDFTokenizer.hh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/qpdf/QPDFTokenizer.hh b/include/qpdf/QPDFTokenizer.hh index 204667a8..d723ff6e 100644 --- a/include/qpdf/QPDFTokenizer.hh +++ b/include/qpdf/QPDFTokenizer.hh @@ -203,6 +203,7 @@ class QPDFTokenizer st_in_hexstring, st_in_string, st_in_hexstring_2nd, + st_name, st_literal, st_in_space, st_in_comment, @@ -212,6 +213,8 @@ class QPDFTokenizer st_lt, st_gt, st_inline_image, + st_name_hex1, + st_name_hex2, st_token_ready }; @@ -220,6 +223,7 @@ class QPDFTokenizer void inSpace(char); void inComment(char); void inString(char); + void inName(char); void inLt(char); void inGt(char); void inStringAfterCR(char); @@ -230,7 +234,8 @@ class QPDFTokenizer void inHexstring2nd(char); void inInlineImage(char); void inTokenReady(char); - + void inNameHex1(char); + void inNameHex2(char); void reset(); // Lexer state @@ -247,10 +252,12 @@ class QPDFTokenizer bool unread_char; char char_to_unread; size_t inline_image_bytes; + bool bad; // State for strings int string_depth; int char_code; + char hex_char; int digit_count; }; -- cgit v1.2.3-54-g00ecf