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

Side by Side Diff: core/fpdfapi/parser/fpdf_parser_utility.cpp

Issue 2430743003: in the attempt to fix 627393, changed IFX_FileRead's readBlock to return the length it reads
Patch Set: delete the include folder Created 4 years, 1 month 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
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/fpdfapi/parser/fpdf_parser_utility.h" 7 #include "core/fpdfapi/parser/fpdf_parser_utility.h"
8 8
9 #include "core/fpdfapi/parser/cpdf_array.h" 9 #include "core/fpdfapi/parser/cpdf_array.h"
10 #include "core/fpdfapi/parser/cpdf_dictionary.h" 10 #include "core/fpdfapi/parser/cpdf_dictionary.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 65 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
66 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 66 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
67 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 67 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
68 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 68 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R',
69 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'W'}; 69 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'W'};
70 70
71 int32_t GetHeaderOffset(IFX_SeekableReadStream* pFile) { 71 int32_t GetHeaderOffset(IFX_SeekableReadStream* pFile) {
72 const size_t kBufSize = 4; 72 const size_t kBufSize = 4;
73 uint8_t buf[kBufSize]; 73 uint8_t buf[kBufSize];
74 for (int32_t offset = 0; offset <= 1024; ++offset) { 74 for (int32_t offset = 0; offset <= 1024; ++offset) {
75 if (!pFile->ReadBlock(buf, offset, kBufSize)) 75 if (pFile->ReadBlock(buf, offset, kBufSize) != kBufSize && !pFile->IsEOF())
76 return -1; 76 return -1;
77 77
78 if (memcmp(buf, "%PDF", 4) == 0) 78 if (memcmp(buf, "%PDF", 4) == 0)
Tom Sepez 2016/11/14 20:27:40 might not have read 4 bytes if EOF.
79 return offset; 79 return offset;
80 } 80 }
81 return -1; 81 return -1;
82 } 82 }
83 83
84 int32_t GetDirectInteger(CPDF_Dictionary* pDict, const CFX_ByteString& key) { 84 int32_t GetDirectInteger(CPDF_Dictionary* pDict, const CFX_ByteString& key) {
85 CPDF_Number* pObj = ToNumber(pDict->GetObjectFor(key)); 85 CPDF_Number* pObj = ToNumber(pDict->GetObjectFor(key));
86 return pObj ? pObj->GetInteger() : 0; 86 return pObj ? pObj->GetInteger() : 0;
87 } 87 }
88 88
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 buf.AppendBlock(acc.GetData(), acc.GetSize()); 212 buf.AppendBlock(acc.GetData(), acc.GetSize());
213 buf << "\r\nendstream"; 213 buf << "\r\nendstream";
214 break; 214 break;
215 } 215 }
216 default: 216 default:
217 ASSERT(false); 217 ASSERT(false);
218 break; 218 break;
219 } 219 }
220 return buf; 220 return buf;
221 } 221 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698