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

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

Issue 1428583003: Use static_cast for various CPDF_Object conversions. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp » ('j') | 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 "../../../include/fpdfapi/fpdf_parser.h" 7 #include "../../../include/fpdfapi/fpdf_parser.h"
8 #include "../../../include/fxcrt/fx_string.h" 8 #include "../../../include/fxcrt/fx_string.h"
9 9
10 // static 10 // static
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 const CPDF_String* pString = AsString(); 237 const CPDF_String* pString = AsString();
238 return new CPDF_String(pString->m_String, pString->IsHex()); 238 return new CPDF_String(pString->m_String, pString->IsHex());
239 } 239 }
240 case PDFOBJ_NAME: 240 case PDFOBJ_NAME:
241 return new CPDF_Name(AsName()->m_Name); 241 return new CPDF_Name(AsName()->m_Name);
242 case PDFOBJ_ARRAY: { 242 case PDFOBJ_ARRAY: {
243 CPDF_Array* pCopy = new CPDF_Array(); 243 CPDF_Array* pCopy = new CPDF_Array();
244 const CPDF_Array* pThis = AsArray(); 244 const CPDF_Array* pThis = AsArray();
245 int n = pThis->GetCount(); 245 int n = pThis->GetCount();
246 for (int i = 0; i < n; i++) { 246 for (int i = 0; i < n; i++) {
247 CPDF_Object* value = (CPDF_Object*)pThis->m_Objects.GetAt(i); 247 CPDF_Object* value =
248 static_cast<CPDF_Object*>(pThis->m_Objects.GetAt(i));
248 pCopy->m_Objects.Add(value->CloneInternal(bDirect, visited)); 249 pCopy->m_Objects.Add(value->CloneInternal(bDirect, visited));
249 } 250 }
250 return pCopy; 251 return pCopy;
251 } 252 }
252 case PDFOBJ_DICTIONARY: { 253 case PDFOBJ_DICTIONARY: {
253 CPDF_Dictionary* pCopy = new CPDF_Dictionary(); 254 CPDF_Dictionary* pCopy = new CPDF_Dictionary();
254 const CPDF_Dictionary* pThis = AsDictionary(); 255 const CPDF_Dictionary* pThis = AsDictionary();
255 FX_POSITION pos = pThis->m_Map.GetStartPosition(); 256 FX_POSITION pos = pThis->m_Map.GetStartPosition();
256 while (pos) { 257 while (pos) {
257 CFX_ByteString key; 258 CFX_ByteString key;
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 CFX_AffineMatrix CPDF_Array::GetMatrix() { 437 CFX_AffineMatrix CPDF_Array::GetMatrix() {
437 CFX_AffineMatrix matrix; 438 CFX_AffineMatrix matrix;
438 if (!IsArray() || m_Objects.GetSize() != 6) 439 if (!IsArray() || m_Objects.GetSize() != 6)
439 return matrix; 440 return matrix;
440 441
441 matrix.Set(GetNumber(0), GetNumber(1), GetNumber(2), GetNumber(3), 442 matrix.Set(GetNumber(0), GetNumber(1), GetNumber(2), GetNumber(3),
442 GetNumber(4), GetNumber(5)); 443 GetNumber(4), GetNumber(5));
443 return matrix; 444 return matrix;
444 } 445 }
445 CPDF_Object* CPDF_Array::GetElement(FX_DWORD i) const { 446 CPDF_Object* CPDF_Array::GetElement(FX_DWORD i) const {
446 if (i >= (FX_DWORD)m_Objects.GetSize()) { 447 if (i >= (FX_DWORD)m_Objects.GetSize())
447 return NULL; 448 return nullptr;
448 } 449 return static_cast<CPDF_Object*>(m_Objects.GetAt(i));
449 return (CPDF_Object*)m_Objects.GetAt(i);
450 } 450 }
451 CPDF_Object* CPDF_Array::GetElementValue(FX_DWORD i) const { 451 CPDF_Object* CPDF_Array::GetElementValue(FX_DWORD i) const {
452 if (i >= (FX_DWORD)m_Objects.GetSize()) { 452 if (i >= (FX_DWORD)m_Objects.GetSize())
453 return NULL; 453 return nullptr;
454 } 454 return static_cast<CPDF_Object*>(m_Objects.GetAt(i))->GetDirect();
455 return ((CPDF_Object*)m_Objects.GetAt(i))->GetDirect();
456 } 455 }
457 CFX_ByteString CPDF_Array::GetString(FX_DWORD i) const { 456 CFX_ByteString CPDF_Array::GetString(FX_DWORD i) const {
458 if (i < (FX_DWORD)m_Objects.GetSize()) { 457 if (i < (FX_DWORD)m_Objects.GetSize())
459 CPDF_Object* p = (CPDF_Object*)m_Objects.GetAt(i); 458 return static_cast<CPDF_Object*>(m_Objects.GetAt(i))->GetString();
460 return p->GetString();
461 }
462 return CFX_ByteString(); 459 return CFX_ByteString();
463 } 460 }
464 CFX_ByteStringC CPDF_Array::GetConstString(FX_DWORD i) const { 461 CFX_ByteStringC CPDF_Array::GetConstString(FX_DWORD i) const {
465 if (i < (FX_DWORD)m_Objects.GetSize()) { 462 if (i < (FX_DWORD)m_Objects.GetSize())
466 CPDF_Object* p = (CPDF_Object*)m_Objects.GetAt(i); 463 return static_cast<CPDF_Object*>(m_Objects.GetAt(i))->GetConstString();
467 return p->GetConstString();
468 }
469 return CFX_ByteStringC(); 464 return CFX_ByteStringC();
470 } 465 }
471 int CPDF_Array::GetInteger(FX_DWORD i) const { 466 int CPDF_Array::GetInteger(FX_DWORD i) const {
472 if (i >= (FX_DWORD)m_Objects.GetSize()) { 467 if (i >= (FX_DWORD)m_Objects.GetSize())
473 return 0; 468 return 0;
474 } 469 return static_cast<CPDF_Object*>(m_Objects.GetAt(i))->GetInteger();
475 CPDF_Object* p = (CPDF_Object*)m_Objects.GetAt(i);
476 return p->GetInteger();
477 } 470 }
478 FX_FLOAT CPDF_Array::GetNumber(FX_DWORD i) const { 471 FX_FLOAT CPDF_Array::GetNumber(FX_DWORD i) const {
479 if (i >= (FX_DWORD)m_Objects.GetSize()) { 472 if (i >= (FX_DWORD)m_Objects.GetSize())
480 return 0; 473 return 0;
481 } 474 return static_cast<CPDF_Object*>(m_Objects.GetAt(i))->GetNumber();
482 CPDF_Object* p = (CPDF_Object*)m_Objects.GetAt(i);
483 return p->GetNumber();
484 } 475 }
485 CPDF_Dictionary* CPDF_Array::GetDict(FX_DWORD i) const { 476 CPDF_Dictionary* CPDF_Array::GetDict(FX_DWORD i) const {
486 CPDF_Object* p = GetElementValue(i); 477 CPDF_Object* p = GetElementValue(i);
487 if (!p) 478 if (!p)
488 return NULL; 479 return NULL;
489 if (CPDF_Dictionary* pDict = p->AsDictionary()) 480 if (CPDF_Dictionary* pDict = p->AsDictionary())
490 return pDict; 481 return pDict;
491 if (CPDF_Stream* pStream = p->AsStream()) 482 if (CPDF_Stream* pStream = p->AsStream())
492 return pStream->GetDict(); 483 return pStream->GetDict();
493 return NULL; 484 return NULL;
494 } 485 }
495 CPDF_Stream* CPDF_Array::GetStream(FX_DWORD i) const { 486 CPDF_Stream* CPDF_Array::GetStream(FX_DWORD i) const {
496 return ToStream(GetElementValue(i)); 487 return ToStream(GetElementValue(i));
497 } 488 }
498 CPDF_Array* CPDF_Array::GetArray(FX_DWORD i) const { 489 CPDF_Array* CPDF_Array::GetArray(FX_DWORD i) const {
499 return ToArray(GetElementValue(i)); 490 return ToArray(GetElementValue(i));
500 } 491 }
501 void CPDF_Array::RemoveAt(FX_DWORD i) { 492 void CPDF_Array::RemoveAt(FX_DWORD i) {
502 ASSERT(IsArray()); 493 ASSERT(IsArray());
503 if (i >= (FX_DWORD)m_Objects.GetSize()) { 494 if (i >= (FX_DWORD)m_Objects.GetSize())
504 return; 495 return;
505 } 496 if (CPDF_Object* p = static_cast<CPDF_Object*>(m_Objects.GetAt(i)))
506 CPDF_Object* p = (CPDF_Object*)m_Objects.GetAt(i);
507 if (p)
508 p->Release(); 497 p->Release();
509 m_Objects.RemoveAt(i); 498 m_Objects.RemoveAt(i);
510 } 499 }
511 void CPDF_Array::SetAt(FX_DWORD i, 500 void CPDF_Array::SetAt(FX_DWORD i,
512 CPDF_Object* pObj, 501 CPDF_Object* pObj,
513 CPDF_IndirectObjects* pObjs) { 502 CPDF_IndirectObjects* pObjs) {
514 ASSERT(IsArray()); 503 ASSERT(IsArray());
515 ASSERT(i < (FX_DWORD)m_Objects.GetSize()); 504 ASSERT(i < (FX_DWORD)m_Objects.GetSize());
516 if (i >= (FX_DWORD)m_Objects.GetSize()) { 505 if (i >= (FX_DWORD)m_Objects.GetSize())
517 return; 506 return;
518 } 507 if (CPDF_Object* pOld = static_cast<CPDF_Object*>(m_Objects.GetAt(i)))
519 CPDF_Object* pOld = (CPDF_Object*)m_Objects.GetAt(i);
520 if (pOld)
521 pOld->Release(); 508 pOld->Release();
522 if (pObj->GetObjNum()) { 509 if (pObj->GetObjNum()) {
523 ASSERT(pObjs != NULL); 510 ASSERT(pObjs);
524 pObj = new CPDF_Reference(pObjs, pObj->GetObjNum()); 511 pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
525 } 512 }
526 m_Objects.SetAt(i, pObj); 513 m_Objects.SetAt(i, pObj);
527 } 514 }
528 void CPDF_Array::InsertAt(FX_DWORD index, 515 void CPDF_Array::InsertAt(FX_DWORD index,
529 CPDF_Object* pObj, 516 CPDF_Object* pObj,
530 CPDF_IndirectObjects* pObjs) { 517 CPDF_IndirectObjects* pObjs) {
531 ASSERT(pObj != NULL); 518 ASSERT(pObj != NULL);
532 if (pObj->GetObjNum()) { 519 if (pObj->GetObjNum()) {
533 ASSERT(pObjs != NULL); 520 ASSERT(pObjs != NULL);
(...skipping 29 matching lines...) Expand all
563 } 550 }
564 void CPDF_Array::AddReference(CPDF_IndirectObjects* pDoc, FX_DWORD objnum) { 551 void CPDF_Array::AddReference(CPDF_IndirectObjects* pDoc, FX_DWORD objnum) {
565 ASSERT(IsArray()); 552 ASSERT(IsArray());
566 Add(new CPDF_Reference(pDoc, objnum)); 553 Add(new CPDF_Reference(pDoc, objnum));
567 } 554 }
568 FX_BOOL CPDF_Array::Identical(CPDF_Array* pOther) const { 555 FX_BOOL CPDF_Array::Identical(CPDF_Array* pOther) const {
569 if (m_Objects.GetSize() != pOther->m_Objects.GetSize()) { 556 if (m_Objects.GetSize() != pOther->m_Objects.GetSize()) {
570 return FALSE; 557 return FALSE;
571 } 558 }
572 for (int i = 0; i < m_Objects.GetSize(); i++) 559 for (int i = 0; i < m_Objects.GetSize(); i++)
573 if (!((CPDF_Object*)m_Objects[i]) 560 if (!static_cast<CPDF_Object*>(m_Objects[i])
574 ->IsIdentical((CPDF_Object*)pOther->m_Objects[i])) { 561 ->IsIdentical(static_cast<CPDF_Object*>(pOther->m_Objects[i]))) {
575 return FALSE; 562 return FALSE;
576 } 563 }
577 return TRUE; 564 return TRUE;
578 } 565 }
579 CPDF_Dictionary::~CPDF_Dictionary() { 566 CPDF_Dictionary::~CPDF_Dictionary() {
580 FX_POSITION pos = m_Map.GetStartPosition(); 567 FX_POSITION pos = m_Map.GetStartPosition();
581 while (pos) { 568 while (pos) {
582 void* value = m_Map.GetNextValue(pos); 569 if (CPDF_Object* value = static_cast<CPDF_Object*>(m_Map.GetNextValue(pos)))
583 if (value) 570 value->Release();
584 ((CPDF_Object*)value)->Release();
585 } 571 }
586 } 572 }
587 FX_POSITION CPDF_Dictionary::GetStartPos() const { 573 FX_POSITION CPDF_Dictionary::GetStartPos() const {
588 return m_Map.GetStartPosition(); 574 return m_Map.GetStartPosition();
589 } 575 }
590 CPDF_Object* CPDF_Dictionary::GetNextElement(FX_POSITION& pos, 576 CPDF_Object* CPDF_Dictionary::GetNextElement(FX_POSITION& pos,
591 CFX_ByteString& key) const { 577 CFX_ByteString& key) const {
592 if (pos == NULL) { 578 if (pos == NULL) {
593 return NULL; 579 return NULL;
594 } 580 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 if (m_Map.GetCount() != pOther->m_Map.GetCount()) { 753 if (m_Map.GetCount() != pOther->m_Map.GetCount()) {
768 return FALSE; 754 return FALSE;
769 } 755 }
770 FX_POSITION pos = m_Map.GetStartPosition(); 756 FX_POSITION pos = m_Map.GetStartPosition();
771 while (pos) { 757 while (pos) {
772 CFX_ByteString key; 758 CFX_ByteString key;
773 void* value; 759 void* value;
774 m_Map.GetNextAssoc(pos, key, value); 760 m_Map.GetNextAssoc(pos, key, value);
775 if (!value) 761 if (!value)
776 return FALSE; 762 return FALSE;
777 if (!((CPDF_Object*)value)->IsIdentical(pOther->GetElement(key))) { 763 if (!static_cast<CPDF_Object*>(value)->IsIdentical(pOther->GetElement(key)))
778 return FALSE; 764 return FALSE;
779 }
780 } 765 }
781 return TRUE; 766 return TRUE;
782 } 767 }
783 void CPDF_Dictionary::SetAtInteger(const CFX_ByteStringC& key, int i) { 768 void CPDF_Dictionary::SetAtInteger(const CFX_ByteStringC& key, int i) {
784 SetAt(key, new CPDF_Number(i)); 769 SetAt(key, new CPDF_Number(i));
785 } 770 }
786 void CPDF_Dictionary::SetAtName(const CFX_ByteStringC& key, 771 void CPDF_Dictionary::SetAtName(const CFX_ByteStringC& key,
787 const CFX_ByteString& name) { 772 const CFX_ByteString& name) {
788 SetAt(key, new CPDF_Name(name)); 773 SetAt(key, new CPDF_Name(name));
789 } 774 }
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 } else { 1097 } else {
1113 m_LastObjNum = 0; 1098 m_LastObjNum = 0;
1114 } 1099 }
1115 } 1100 }
1116 CPDF_IndirectObjects::~CPDF_IndirectObjects() { 1101 CPDF_IndirectObjects::~CPDF_IndirectObjects() {
1117 FX_POSITION pos = m_IndirectObjs.GetStartPosition(); 1102 FX_POSITION pos = m_IndirectObjs.GetStartPosition();
1118 while (pos) { 1103 while (pos) {
1119 void* key; 1104 void* key;
1120 void* value; 1105 void* value;
1121 m_IndirectObjs.GetNextAssoc(pos, key, value); 1106 m_IndirectObjs.GetNextAssoc(pos, key, value);
1122 ((CPDF_Object*)value)->Destroy(); 1107 static_cast<CPDF_Object*>(value)->Destroy();
1123 } 1108 }
1124 } 1109 }
1125 CPDF_Object* CPDF_IndirectObjects::GetIndirectObject( 1110 CPDF_Object* CPDF_IndirectObjects::GetIndirectObject(
1126 FX_DWORD objnum, 1111 FX_DWORD objnum,
1127 struct PARSE_CONTEXT* pContext) { 1112 struct PARSE_CONTEXT* pContext) {
1128 if (objnum == 0) { 1113 if (objnum == 0)
1129 return NULL; 1114 return nullptr;
1115 void* value;
1116 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) {
1117 CPDF_Object* pValue = static_cast<CPDF_Object*>(value);
1118 if (pValue->GetObjNum() == -1)
1119 return nullptr;
1120 return pValue;
1130 } 1121 }
1131 void* value; 1122
1132 { 1123 CPDF_Object* pObj = nullptr;
1133 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { 1124 if (m_pParser)
1134 if (((CPDF_Object*)value)->GetObjNum() == -1) {
1135 return NULL;
1136 }
1137 return (CPDF_Object*)value;
1138 }
1139 }
1140 CPDF_Object* pObj = NULL;
1141 if (m_pParser) {
1142 pObj = m_pParser->ParseIndirectObject(this, objnum, pContext); 1125 pObj = m_pParser->ParseIndirectObject(this, objnum, pContext);
1143 } 1126 if (!pObj)
1144 if (pObj == NULL) { 1127 return nullptr;
1145 return NULL; 1128
1146 }
1147 pObj->m_ObjNum = objnum; 1129 pObj->m_ObjNum = objnum;
1148 if (m_LastObjNum < objnum) { 1130 if (m_LastObjNum < objnum) {
1149 m_LastObjNum = objnum; 1131 m_LastObjNum = objnum;
1150 } 1132 }
1151 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { 1133 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) {
1152 if (value) { 1134 if (value)
1153 ((CPDF_Object*)value)->Destroy(); 1135 static_cast<CPDF_Object*>(value)->Destroy();
1154 }
1155 } 1136 }
1156 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj); 1137 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj);
1157 return pObj; 1138 return pObj;
1158 } 1139 }
1159 int CPDF_IndirectObjects::GetIndirectType(FX_DWORD objnum) { 1140 int CPDF_IndirectObjects::GetIndirectType(FX_DWORD objnum) {
1160 void* value; 1141 void* value;
1161 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { 1142 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value))
1162 return ((CPDF_Object*)value)->GetType(); 1143 return static_cast<CPDF_Object*>(value)->GetType();
1163 } 1144
1164 if (m_pParser) { 1145 if (m_pParser) {
1165 PARSE_CONTEXT context; 1146 PARSE_CONTEXT context;
1166 FXSYS_memset(&context, 0, sizeof(PARSE_CONTEXT)); 1147 FXSYS_memset(&context, 0, sizeof(PARSE_CONTEXT));
1167 context.m_Flags = PDFPARSE_TYPEONLY; 1148 context.m_Flags = PDFPARSE_TYPEONLY;
1168 return (int)(uintptr_t)m_pParser->ParseIndirectObject(this, objnum, 1149 return (int)(uintptr_t)m_pParser->ParseIndirectObject(this, objnum,
1169 &context); 1150 &context);
1170 } 1151 }
1171 return 0; 1152 return 0;
1172 } 1153 }
1173 FX_DWORD CPDF_IndirectObjects::AddIndirectObject(CPDF_Object* pObj) { 1154 FX_DWORD CPDF_IndirectObjects::AddIndirectObject(CPDF_Object* pObj) {
1174 if (pObj->m_ObjNum) { 1155 if (pObj->m_ObjNum) {
1175 return pObj->m_ObjNum; 1156 return pObj->m_ObjNum;
1176 } 1157 }
1177 m_LastObjNum++; 1158 m_LastObjNum++;
1178 m_IndirectObjs.SetAt((void*)(uintptr_t)m_LastObjNum, pObj); 1159 m_IndirectObjs.SetAt((void*)(uintptr_t)m_LastObjNum, pObj);
1179 pObj->m_ObjNum = m_LastObjNum; 1160 pObj->m_ObjNum = m_LastObjNum;
1180 return m_LastObjNum; 1161 return m_LastObjNum;
1181 } 1162 }
1182 void CPDF_IndirectObjects::ReleaseIndirectObject(FX_DWORD objnum) { 1163 void CPDF_IndirectObjects::ReleaseIndirectObject(FX_DWORD objnum) {
1183 void* value; 1164 void* value;
1184 if (!m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { 1165 if (!m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value))
1185 return; 1166 return;
1186 } 1167 CPDF_Object* pValue = static_cast<CPDF_Object*>(value);
1187 if (((CPDF_Object*)value)->GetObjNum() == -1) { 1168 if (pValue->GetObjNum() == -1)
1188 return; 1169 return;
1189 } 1170 pValue->Destroy();
1190 ((CPDF_Object*)value)->Destroy();
1191 m_IndirectObjs.RemoveKey((void*)(uintptr_t)objnum); 1171 m_IndirectObjs.RemoveKey((void*)(uintptr_t)objnum);
1192 } 1172 }
1193 void CPDF_IndirectObjects::InsertIndirectObject(FX_DWORD objnum, 1173 void CPDF_IndirectObjects::InsertIndirectObject(FX_DWORD objnum,
1194 CPDF_Object* pObj) { 1174 CPDF_Object* pObj) {
1195 if (objnum == 0 || pObj == NULL) { 1175 if (objnum == 0 || pObj == NULL) {
1196 return; 1176 return;
1197 } 1177 }
1198 void* value = NULL; 1178 void* value = NULL;
1199 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { 1179 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) {
1200 if (value) { 1180 if (value) {
1201 if (pObj->GetGenNum() <= ((CPDF_Object*)value)->GetGenNum()) { 1181 CPDF_Object* pValue = static_cast<CPDF_Object*>(value);
1182 if (pObj->GetGenNum() <= pValue->GetGenNum())
1202 return; 1183 return;
1203 } 1184 pValue->Destroy();
1204 ((CPDF_Object*)value)->Destroy();
1205 } 1185 }
1206 } 1186 }
1207 pObj->m_ObjNum = objnum; 1187 pObj->m_ObjNum = objnum;
1208 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj); 1188 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj);
1209 if (m_LastObjNum < objnum) { 1189 if (m_LastObjNum < objnum) {
1210 m_LastObjNum = objnum; 1190 m_LastObjNum = objnum;
1211 } 1191 }
1212 } 1192 }
1213 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const { 1193 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const {
1214 return m_LastObjNum; 1194 return m_LastObjNum;
1215 } 1195 }
OLDNEW
« no previous file with comments | « no previous file | core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698