aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-08-23 01:14:43 +0200
committerm-holger <m-holger@kubitscheck.org>2022-08-25 12:26:38 +0200
commit931fbb615623f00de0942f12e3e5b2b6e141b09f (patch)
tree8bcaed30fda487a532355b7f11833f1ebe887f67 /include
parenta3f3238f371f07cd2b2e1a96753cde6590712dc5 (diff)
downloadqpdf-931fbb615623f00de0942f12e3e5b2b6e141b09f.tar.zst
Integrate names into state machine in QPDFTokenizer
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFTokenizer.hh9
1 files changed, 8 insertions, 1 deletions
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;
};