Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Unified Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp

Issue 880663003: Kill scattered extern _PDF_CharType declarations. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Fix typo in 'N' in fpdf_parser.h comment. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 e5e68c2f5c37fb32dfbc3a4dd3be96aefc658b52..bbfd4cc680b249ced935ac2e2017b72acf4fd2e1 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
@@ -5,15 +5,41 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "../../../include/fpdfapi/fpdf_parser.h"
-extern const FX_LPCSTR _PDF_CharType =
- "WRRRRRRRRWWRWWRRRRRRRRRRRRRRRRRR"
- "WRRRRDRRDDRNRNNDNNNNNNNNNNRRDRDR"
- "RRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRR"
- "RRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRR"
- "WRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"
- "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"
- "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"
- "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW";
+const char PDF_CharType[256] = {
+ //NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
+ 'W', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'W', 'W', 'R', 'W', 'W', 'R', 'R',
+
+ //DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+
+ //SP ! " # $ % & ยด ( ) * + , - . /
+ 'W', 'R', 'R', 'R', 'R', 'D', 'R', 'R', 'D', 'D', 'R', 'N', 'R', 'N', 'N', 'D',
+
+ // 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+ 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'R', 'R', 'D', 'R', 'D', 'R',
+
+ // @ A B C D E F G H I J K L M N O
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+
+ // P Q R S T U V W X Y Z [ \ ] ^ _
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'D', 'R', 'D', 'R', 'R',
+
+ // ` a b c d e f g h i j k l m n o
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+
+ // p q r s t u v w x y z { | } ~ DEL
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'D', 'R', 'D', 'R', 'R',
+
+ 'W', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
+ 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'W'
+};
+
#ifndef MAX_PATH
#define MAX_PATH 4096
#endif
@@ -41,13 +67,13 @@ void CPDF_SimpleParser::ParseWord(FX_LPCBYTE& pStart, FX_DWORD& dwSize, int& typ
return;
}
ch = m_pData[m_dwCurPos++];
- chartype = _PDF_CharType[ch];
+ chartype = PDF_CharType[ch];
while (chartype == 'W') {
if (m_dwSize <= m_dwCurPos) {
return;
}
ch = m_pData[m_dwCurPos++];
- chartype = _PDF_CharType[ch];
+ chartype = PDF_CharType[ch];
}
if (ch != '%') {
break;
@@ -61,7 +87,7 @@ void CPDF_SimpleParser::ParseWord(FX_LPCBYTE& pStart, FX_DWORD& dwSize, int& typ
break;
}
}
- chartype = _PDF_CharType[ch];
+ chartype = PDF_CharType[ch];
}
FX_DWORD start_pos = m_dwCurPos - 1;
pStart = m_pData + start_pos;
@@ -72,7 +98,7 @@ void CPDF_SimpleParser::ParseWord(FX_LPCBYTE& pStart, FX_DWORD& dwSize, int& typ
return;
}
ch = m_pData[m_dwCurPos++];
- chartype = _PDF_CharType[ch];
+ chartype = PDF_CharType[ch];
if (chartype != 'R' && chartype != 'N') {
m_dwCurPos --;
dwSize = m_dwCurPos - start_pos;
@@ -117,7 +143,7 @@ void CPDF_SimpleParser::ParseWord(FX_LPCBYTE& pStart, FX_DWORD& dwSize, int& typ
return;
}
ch = m_pData[m_dwCurPos++];
- chartype = _PDF_CharType[ch];
+ chartype = PDF_CharType[ch];
if (chartype == 'D' || chartype == 'W') {
m_dwCurPos --;
break;
@@ -297,8 +323,8 @@ CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig)
int i;
for (i = 0; i < src_len; i ++) {
FX_BYTE ch = src_buf[i];
- if (ch >= 0x80 || _PDF_CharType[ch] == 'W' || ch == '#' ||
- _PDF_CharType[ch] == 'D') {
+ if (ch >= 0x80 || PDF_CharType[ch] == 'W' || ch == '#' ||
+ PDF_CharType[ch] == 'D') {
dest_len += 3;
} else {
dest_len ++;
@@ -312,8 +338,8 @@ CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig)
dest_len = 0;
for (i = 0; i < src_len; i ++) {
FX_BYTE ch = src_buf[i];
- if (ch >= 0x80 || _PDF_CharType[ch] == 'W' || ch == '#' ||
- _PDF_CharType[ch] == 'D') {
+ if (ch >= 0x80 || PDF_CharType[ch] == 'W' || ch == '#' ||
+ PDF_CharType[ch] == 'D') {
dest_buf[dest_len++] = '#';
dest_buf[dest_len++] = "0123456789ABCDEF"[ch / 16];
dest_buf[dest_len++] = "0123456789ABCDEF"[ch % 16];
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698