diff options
author | Přemysl Janouch <p@janouch.name> | 2018-10-02 23:17:15 +0200 |
---|---|---|
committer | Přemysl Janouch <p@janouch.name> | 2018-10-02 23:17:15 +0200 |
commit | 160f09ecc32f72c7c63227bb8a5036302d27bda0 (patch) | |
tree | cf4a2f29eee2f790dd2b5392f72ffcc9b070dfa9 /pdf-simple-sign.cpp | |
parent | 2d3fd3317bbb0f002ba484bf63814ef899d55ef5 (diff) | |
download | pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.tar.gz pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.tar.xz pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.zip |
Fix octal escapes
Diffstat (limited to 'pdf-simple-sign.cpp')
-rw-r--r-- | pdf-simple-sign.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/pdf-simple-sign.cpp b/pdf-simple-sign.cpp index 36afcf4..9366daa 100644 --- a/pdf-simple-sign.cpp +++ b/pdf-simple-sign.cpp @@ -136,12 +136,11 @@ struct pdf_lexer { if (eat_newline(ch)) continue; std::string octal; - if (*p && strchr(oct_alphabet, *p)) octal += *p++; - if (*p && strchr(oct_alphabet, *p)) octal += *p++; - if (*p && strchr(oct_alphabet, *p)) octal += *p++; - if (!octal.empty()) { - value += char(std::stoi(octal, nullptr, 8)); - continue; + if (ch && strchr(oct_alphabet, ch)) { + octal += ch; + if (*p && strchr(oct_alphabet, *p)) octal += *p++; + if (*p && strchr(oct_alphabet, *p)) octal += *p++; + ch = std::stoi(octal, nullptr, 8); } } } |