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 "JBig2_Object.h" | 7 #include "JBig2_Object.h" |
8 #include "JBig2_Module.h" | 8 #include "JBig2_Module.h" |
9 void *CJBig2_Object::operator new(size_t size, CJBig2_Module *pModule, const FX_
CHAR* filename, int line) | 9 void *CJBig2_Object::operator new(size_t size, CJBig2_Module *pModule, const FX_
CHAR* filename, int line) |
10 { | 10 { |
11 CJBig2_Object *p; | 11 CJBig2_Object *p; |
12 p = (CJBig2_Object *)pModule->JBig2_Malloc((FX_DWORD)size); | 12 p = (CJBig2_Object *)pModule->JBig2_Malloc((FX_DWORD)size); |
13 p->m_pModule = pModule; | 13 p->m_pModule = pModule; |
14 return p; | 14 return p; |
15 } | 15 } |
16 void CJBig2_Object::operator delete(void *p, CJBig2_Module *pModule, const FX_CH
AR* filename, int line) | 16 void CJBig2_Object::operator delete(void *p, CJBig2_Module *pModule, const FX_CH
AR* filename, int line) |
17 { | 17 { |
18 pModule->JBig2_Free(p); | 18 pModule->JBig2_Free(p); |
19 } | 19 } |
20 void *CJBig2_Object::operator new(size_t size, CJBig2_Module *pModule) | 20 void *CJBig2_Object::operator new(size_t size, CJBig2_Module *pModule) |
21 { | 21 { |
22 CJBig2_Object *p; | 22 CJBig2_Object *p; |
23 p = (CJBig2_Object *)pModule->JBig2_Malloc((FX_DWORD)size); | 23 p = (CJBig2_Object *)pModule->JBig2_Malloc((FX_DWORD)size); |
24 p->m_pModule = pModule; | 24 p->m_pModule = pModule; |
25 return p; | 25 return p; |
26 } | 26 } |
27 void CJBig2_Object::operator delete(void *p) | 27 void CJBig2_Object::operator delete(void *p) |
28 { | 28 { |
29 ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); | 29 if (p) { |
| 30 ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); |
| 31 } |
30 } | 32 } |
31 void CJBig2_Object::operator delete(void *p, CJBig2_Module *pModule) | 33 void CJBig2_Object::operator delete(void *p, CJBig2_Module *pModule) |
32 { | 34 { |
33 pModule->JBig2_Free(p); | 35 pModule->JBig2_Free(p); |
34 } | 36 } |
35 void *CJBig2_Object::operator new[](size_t size, CJBig2_Module *pModule, size_t
unit_size, | 37 void *CJBig2_Object::operator new[](size_t size, CJBig2_Module *pModule, size_t
unit_size, |
36 const FX_CHAR* filename, int line) | 38 const FX_CHAR* filename, int line) |
37 { | 39 { |
38 void *p; | 40 void *p; |
39 uint8_t *pCur, *pEnd; | 41 uint8_t *pCur, *pEnd; |
(...skipping 17 matching lines...) Expand all Loading... |
57 p = (uint8_t *)pModule->JBig2_Malloc((FX_DWORD)size); | 59 p = (uint8_t *)pModule->JBig2_Malloc((FX_DWORD)size); |
58 pCur = (uint8_t *)p; | 60 pCur = (uint8_t *)p; |
59 pEnd = pCur + size; | 61 pEnd = pCur + size; |
60 for(; pCur < pEnd; pCur += unit_size) { | 62 for(; pCur < pEnd; pCur += unit_size) { |
61 ((CJBig2_Object *)pCur)->m_pModule = pModule; | 63 ((CJBig2_Object *)pCur)->m_pModule = pModule; |
62 } | 64 } |
63 return p; | 65 return p; |
64 } | 66 } |
65 void CJBig2_Object::operator delete[](void* p) | 67 void CJBig2_Object::operator delete[](void* p) |
66 { | 68 { |
67 ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); | 69 if (p) { |
| 70 ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); |
| 71 } |
68 } | 72 } |
69 void CJBig2_Object::operator delete[](void *p, CJBig2_Module *pModule, size_t un
it_size) | 73 void CJBig2_Object::operator delete[](void *p, CJBig2_Module *pModule, size_t un
it_size) |
70 { | 74 { |
71 pModule->JBig2_Free(p); | 75 pModule->JBig2_Free(p); |
72 } | 76 } |
OLD | NEW |