| Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
 | 
| diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
 | 
| index 89a5deb62d03655fd0c3d0d0997e8e30ba1891ed..9729bab9424888ebb7291d066984690879746eb0 100644
 | 
| --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
 | 
| +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
 | 
| @@ -5,6 +5,7 @@
 | 
|  // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 | 
|  
 | 
|  #include "core/include/fpdfapi/fpdf_parser.h"
 | 
| +#include "core/include/fxcrt/fx_ext.h"
 | 
|  
 | 
|  // Indexed by 8-bit character code, contains either:
 | 
|  //   'W' - for whitespace: NUL, TAB, CR, LF, FF, 0x80, 0xff
 | 
| @@ -279,18 +280,7 @@ FX_BOOL CPDF_SimpleParser::FindTagParam(const CFX_ByteStringC& token,
 | 
|    }
 | 
|    return FALSE;
 | 
|  }
 | 
| -static int _hex2dec(char ch) {
 | 
| -  if (ch >= '0' && ch <= '9') {
 | 
| -    return ch - '0';
 | 
| -  }
 | 
| -  if (ch >= 'a' && ch <= 'f') {
 | 
| -    return ch - 'a' + 10;
 | 
| -  }
 | 
| -  if (ch >= 'A' && ch <= 'F') {
 | 
| -    return ch - 'A' + 10;
 | 
| -  }
 | 
| -  return 0;
 | 
| -}
 | 
| +
 | 
|  CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& bstr) {
 | 
|    int size = bstr.GetLength();
 | 
|    const FX_CHAR* pSrc = bstr.GetCStr();
 | 
| @@ -302,7 +292,8 @@ CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& bstr) {
 | 
|    FX_CHAR* pDest = pDestStart;
 | 
|    for (int i = 0; i < size; i++) {
 | 
|      if (pSrc[i] == '#' && i < size - 2) {
 | 
| -      *pDest++ = _hex2dec(pSrc[i + 1]) * 16 + _hex2dec(pSrc[i + 2]);
 | 
| +      *pDest++ =
 | 
| +          FXSYS_toHexDigit(pSrc[i + 1]) * 16 + FXSYS_toHexDigit(pSrc[i + 2]);
 | 
|        i += 2;
 | 
|      } else {
 | 
|        *pDest++ = pSrc[i];
 | 
| 
 |