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 | |
| parent | 2d3fd3317bbb0f002ba484bf63814ef899d55ef5 (diff) | |
| download | pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.tar.gz pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.tar.xz pdf-simple-sign-160f09ecc32f72c7c63227bb8a5036302d27bda0.zip | |
Fix octal escapes
| -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);            }          }        } | 
