OLD | NEW |
---|---|
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_string.h" | 9 #include "core/include/fxcrt/fx_string.h" |
10 | 10 |
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1149 void CPDF_IndirectObjects::ReleaseIndirectObject(FX_DWORD objnum) { | 1149 void CPDF_IndirectObjects::ReleaseIndirectObject(FX_DWORD objnum) { |
1150 void* value; | 1150 void* value; |
1151 if (!m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) | 1151 if (!m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) |
1152 return; | 1152 return; |
1153 CPDF_Object* pValue = static_cast<CPDF_Object*>(value); | 1153 CPDF_Object* pValue = static_cast<CPDF_Object*>(value); |
1154 if (pValue->GetObjNum() == -1) | 1154 if (pValue->GetObjNum() == -1) |
1155 return; | 1155 return; |
1156 pValue->Destroy(); | 1156 pValue->Destroy(); |
1157 m_IndirectObjs.RemoveKey((void*)(uintptr_t)objnum); | 1157 m_IndirectObjs.RemoveKey((void*)(uintptr_t)objnum); |
1158 } | 1158 } |
1159 void CPDF_IndirectObjects::InsertIndirectObject(FX_DWORD objnum, | 1159 FX_BOOL CPDF_IndirectObjects::InsertIndirectObject(FX_DWORD objnum, |
1160 CPDF_Object* pObj) { | 1160 CPDF_Object* pObj) { |
1161 if (objnum == 0 || pObj == NULL) { | 1161 if (!objnum || !pObj) |
1162 return; | 1162 return FALSE; |
1163 } | 1163 void* pExistingObj = nullptr; |
Tom Sepez
2015/12/11 00:15:07
I'd have kept value here, ...
jun_fang
2015/12/11 02:07:16
Acknowledged.
| |
1164 void* value = NULL; | 1164 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, pExistingObj)) { |
1165 if (m_IndirectObjs.Lookup((void*)(uintptr_t)objnum, value)) { | 1165 if (pExistingObj) { |
Tom Sepez
2015/12/11 00:15:07
and declared pExistingObj here with the static cas
jun_fang
2015/12/11 02:07:16
Acknowledged.
| |
1166 if (value) { | 1166 if (pObj->GetGenNum() <= |
1167 CPDF_Object* pValue = static_cast<CPDF_Object*>(value); | 1167 static_cast<CPDF_Object*>(pExistingObj)->GetGenNum()) { |
1168 if (pObj->GetGenNum() <= pValue->GetGenNum()) | 1168 pObj->Destroy(); |
1169 return; | 1169 return FALSE; |
1170 pValue->Destroy(); | 1170 } |
1171 static_cast<CPDF_Object*>(pExistingObj)->Destroy(); | |
Tom Sepez
2015/12/11 00:15:07
which avoids having to write static_cast twice.
jun_fang
2015/12/11 02:07:16
Acknowledged.
| |
1171 } | 1172 } |
1172 } | 1173 } |
1173 pObj->m_ObjNum = objnum; | 1174 pObj->m_ObjNum = objnum; |
1174 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj); | 1175 m_IndirectObjs.SetAt((void*)(uintptr_t)objnum, pObj); |
1175 if (m_LastObjNum < objnum) { | 1176 if (m_LastObjNum < objnum) |
1176 m_LastObjNum = objnum; | 1177 m_LastObjNum = objnum; |
1177 } | 1178 return TRUE; |
1178 } | 1179 } |
1179 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const { | 1180 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const { |
1180 return m_LastObjNum; | 1181 return m_LastObjNum; |
1181 } | 1182 } |
OLD | NEW |