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

Side by Side Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp

Issue 1634683003: Remove several more unused parser values. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 4 years, 10 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/include/fpdfapi/fpdf_parser.h" 7 #include "core/include/fpdfapi/fpdf_parser.h"
8 8
9 #include "core/include/fxcrt/fx_ext.h" 9 #include "core/include/fxcrt/fx_ext.h"
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 CPDF_SimpleParser::CPDF_SimpleParser(const uint8_t* pData, FX_DWORD dwSize) { 63 CPDF_SimpleParser::CPDF_SimpleParser(const uint8_t* pData, FX_DWORD dwSize) {
64 m_pData = pData; 64 m_pData = pData;
65 m_dwSize = dwSize; 65 m_dwSize = dwSize;
66 m_dwCurPos = 0; 66 m_dwCurPos = 0;
67 } 67 }
68 CPDF_SimpleParser::CPDF_SimpleParser(const CFX_ByteStringC& str) { 68 CPDF_SimpleParser::CPDF_SimpleParser(const CFX_ByteStringC& str) {
69 m_pData = str.GetPtr(); 69 m_pData = str.GetPtr();
70 m_dwSize = str.GetLength(); 70 m_dwSize = str.GetLength();
71 m_dwCurPos = 0; 71 m_dwCurPos = 0;
72 } 72 }
73 void CPDF_SimpleParser::ParseWord(const uint8_t*& pStart, 73 void CPDF_SimpleParser::ParseWord(const uint8_t*& pStart, FX_DWORD& dwSize) {
74 FX_DWORD& dwSize,
75 int& type) {
76 pStart = NULL; 74 pStart = NULL;
77 dwSize = 0; 75 dwSize = 0;
78 type = PDFWORD_EOF;
79 uint8_t ch; 76 uint8_t ch;
80 while (1) { 77 while (1) {
81 if (m_dwSize <= m_dwCurPos) 78 if (m_dwSize <= m_dwCurPos)
82 return; 79 return;
83 ch = m_pData[m_dwCurPos++]; 80 ch = m_pData[m_dwCurPos++];
84 while (PDFCharIsWhitespace(ch)) { 81 while (PDFCharIsWhitespace(ch)) {
85 if (m_dwSize <= m_dwCurPos) 82 if (m_dwSize <= m_dwCurPos)
86 return; 83 return;
87 ch = m_pData[m_dwCurPos++]; 84 ch = m_pData[m_dwCurPos++];
88 } 85 }
(...skipping 14 matching lines...) Expand all
103 pStart = m_pData + start_pos; 100 pStart = m_pData + start_pos;
104 if (PDFCharIsDelimiter(ch)) { 101 if (PDFCharIsDelimiter(ch)) {
105 if (ch == '/') { 102 if (ch == '/') {
106 while (1) { 103 while (1) {
107 if (m_dwSize <= m_dwCurPos) 104 if (m_dwSize <= m_dwCurPos)
108 return; 105 return;
109 ch = m_pData[m_dwCurPos++]; 106 ch = m_pData[m_dwCurPos++];
110 if (!PDFCharIsOther(ch) && !PDFCharIsNumeric(ch)) { 107 if (!PDFCharIsOther(ch) && !PDFCharIsNumeric(ch)) {
111 m_dwCurPos--; 108 m_dwCurPos--;
112 dwSize = m_dwCurPos - start_pos; 109 dwSize = m_dwCurPos - start_pos;
113 type = PDFWORD_NAME;
114 return; 110 return;
115 } 111 }
116 } 112 }
117 } else { 113 } else {
118 type = PDFWORD_DELIMITER;
119 dwSize = 1; 114 dwSize = 1;
120 if (ch == '<') { 115 if (ch == '<') {
121 if (m_dwSize <= m_dwCurPos) 116 if (m_dwSize <= m_dwCurPos)
122 return; 117 return;
123 ch = m_pData[m_dwCurPos++]; 118 ch = m_pData[m_dwCurPos++];
124 if (ch == '<') 119 if (ch == '<')
125 dwSize = 2; 120 dwSize = 2;
126 else 121 else
127 m_dwCurPos--; 122 m_dwCurPos--;
128 } else if (ch == '>') { 123 } else if (ch == '>') {
129 if (m_dwSize <= m_dwCurPos) 124 if (m_dwSize <= m_dwCurPos)
130 return; 125 return;
131 ch = m_pData[m_dwCurPos++]; 126 ch = m_pData[m_dwCurPos++];
132 if (ch == '>') 127 if (ch == '>')
133 dwSize = 2; 128 dwSize = 2;
134 else 129 else
135 m_dwCurPos--; 130 m_dwCurPos--;
136 } 131 }
137 } 132 }
138 return; 133 return;
139 } 134 }
140 135
141 type = PDFWORD_NUMBER;
142 dwSize = 1; 136 dwSize = 1;
143 while (1) { 137 while (1) {
144 if (!PDFCharIsNumeric(ch))
145 type = PDFWORD_TEXT;
146 if (m_dwSize <= m_dwCurPos) 138 if (m_dwSize <= m_dwCurPos)
147 return; 139 return;
148 ch = m_pData[m_dwCurPos++]; 140 ch = m_pData[m_dwCurPos++];
149 141
150 if (PDFCharIsDelimiter(ch) || PDFCharIsWhitespace(ch)) { 142 if (PDFCharIsDelimiter(ch) || PDFCharIsWhitespace(ch)) {
151 m_dwCurPos--; 143 m_dwCurPos--;
152 break; 144 break;
153 } 145 }
154 dwSize++; 146 dwSize++;
155 } 147 }
156 } 148 }
157 CFX_ByteStringC CPDF_SimpleParser::GetWord() { 149 CFX_ByteStringC CPDF_SimpleParser::GetWord() {
158 const uint8_t* pStart; 150 const uint8_t* pStart;
159 FX_DWORD dwSize; 151 FX_DWORD dwSize;
160 int type; 152 ParseWord(pStart, dwSize);
161 ParseWord(pStart, dwSize, type);
162 if (dwSize == 1 && pStart[0] == '<') { 153 if (dwSize == 1 && pStart[0] == '<') {
163 while (m_dwCurPos < m_dwSize && m_pData[m_dwCurPos] != '>') { 154 while (m_dwCurPos < m_dwSize && m_pData[m_dwCurPos] != '>') {
164 m_dwCurPos++; 155 m_dwCurPos++;
165 } 156 }
166 if (m_dwCurPos < m_dwSize) { 157 if (m_dwCurPos < m_dwSize) {
167 m_dwCurPos++; 158 m_dwCurPos++;
168 } 159 }
169 return CFX_ByteStringC(pStart, 160 return CFX_ByteStringC(pStart,
170 (FX_STRSIZE)(m_dwCurPos - (pStart - m_pData))); 161 (FX_STRSIZE)(m_dwCurPos - (pStart - m_pData)));
171 } 162 }
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 CPDF_Object* pFound = SearchNumberNode(pKid, num); 443 CPDF_Object* pFound = SearchNumberNode(pKid, num);
453 if (pFound) { 444 if (pFound) {
454 return pFound; 445 return pFound;
455 } 446 }
456 } 447 }
457 return NULL; 448 return NULL;
458 } 449 }
459 CPDF_Object* CPDF_NumberTree::LookupValue(int num) { 450 CPDF_Object* CPDF_NumberTree::LookupValue(int num) {
460 return SearchNumberNode(m_pRoot, num); 451 return SearchNumberNode(m_pRoot, num);
461 } 452 }
OLDNEW
« 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