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

Side by Side Diff: core/src/fxcrt/fxcrt_windows.cpp

Issue 372473003: Remove custom memory manager (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Change malloc to calloc Created 6 years, 5 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/fxcrt/fxcrt_windows.h ('k') | core/src/fxcrt/mem_int.h » ('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/fxcrt/fx_ext.h" 7 #include "../../include/fxcrt/fx_ext.h"
8 #include "fxcrt_windows.h" 8 #include "fxcrt_windows.h"
9 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ 9 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
10 FX_BOOL FX_File_Exist(FX_BSTR fileName) 10 FX_BOOL FX_File_Exist(FX_BSTR fileName)
11 { 11 {
12 FX_DWORD dwAttri = ::GetFileAttributesA(fileName.GetCStr()); 12 FX_DWORD dwAttri = ::GetFileAttributesA(fileName.GetCStr());
13 if (dwAttri == -1) { 13 if (dwAttri == -1) {
14 return FALSE; 14 return FALSE;
15 } 15 }
16 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0; 16 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0;
17 } 17 }
18 FX_BOOL FX_File_Exist(FX_WSTR fileName) 18 FX_BOOL FX_File_Exist(FX_WSTR fileName)
19 { 19 {
20 FX_DWORD dwAttri = ::GetFileAttributesW((LPCWSTR)fileName.GetPtr()); 20 FX_DWORD dwAttri = ::GetFileAttributesW((LPCWSTR)fileName.GetPtr());
21 if (dwAttri == -1) { 21 if (dwAttri == -1) {
22 return FALSE; 22 return FALSE;
23 } 23 }
24 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0; 24 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0;
25 } 25 }
26 IFXCRT_FileAccess* FXCRT_FileAccess_Create(IFX_Allocator* pAllocator) 26 IFXCRT_FileAccess* FXCRT_FileAccess_Create()
27 { 27 {
28 if (pAllocator) { 28 return FX_NEW CFXCRT_FileAccess_Win64;
29 return FX_NewAtAllocator(pAllocator) CFXCRT_FileAccess_Win64;
30 } else {
31 return FX_NEW CFXCRT_FileAccess_Win64;
32 }
33 } 29 }
34 void FXCRT_Windows_GetFileMode(FX_DWORD dwMode, FX_DWORD &dwAccess, FX_DWORD &dw Share, FX_DWORD &dwCreation) 30 void FXCRT_Windows_GetFileMode(FX_DWORD dwMode, FX_DWORD &dwAccess, FX_DWORD &dw Share, FX_DWORD &dwCreation)
35 { 31 {
36 dwAccess = GENERIC_READ; 32 dwAccess = GENERIC_READ;
37 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE; 33 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE;
38 if (!(dwMode & FX_FILEMODE_ReadOnly)) { 34 if (!(dwMode & FX_FILEMODE_ReadOnly)) {
39 dwAccess |= GENERIC_WRITE; 35 dwAccess |= GENERIC_WRITE;
40 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWA YS; 36 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWA YS;
41 } else { 37 } else {
42 dwCreation = OPEN_EXISTING; 38 dwCreation = OPEN_EXISTING;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 return m_hFile != NULL; 81 return m_hFile != NULL;
86 } 82 }
87 void CFXCRT_FileAccess_Win64::Close() 83 void CFXCRT_FileAccess_Win64::Close()
88 { 84 {
89 if (!m_hFile) { 85 if (!m_hFile) {
90 return; 86 return;
91 } 87 }
92 ::CloseHandle(m_hFile); 88 ::CloseHandle(m_hFile);
93 m_hFile = NULL; 89 m_hFile = NULL;
94 } 90 }
95 void CFXCRT_FileAccess_Win64::Release(IFX_Allocator* pAllocator) 91 void CFXCRT_FileAccess_Win64::Release()
96 { 92 {
97 if (pAllocator) { 93 delete this;
98 FX_DeleteAtAllocator(this, pAllocator, CFXCRT_FileAccess_Win64);
99 } else {
100 delete this;
101 }
102 } 94 }
103 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const 95 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const
104 { 96 {
105 if (!m_hFile) { 97 if (!m_hFile) {
106 return 0; 98 return 0;
107 } 99 }
108 LARGE_INTEGER size = {0, 0}; 100 LARGE_INTEGER size = {0, 0};
109 if (!::GetFileSizeEx(m_hFile, &size)) { 101 if (!::GetFileSizeEx(m_hFile, &size)) {
110 return 0; 102 return 0;
111 } 103 }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 } 205 }
214 FX_BOOL FX_File_Move(FX_BSTR fileNameSrc, FX_BSTR fileNameDst) 206 FX_BOOL FX_File_Move(FX_BSTR fileNameSrc, FX_BSTR fileNameDst)
215 { 207 {
216 return ::MoveFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr()); 208 return ::MoveFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr());
217 } 209 }
218 FX_BOOL FX_File_Move(FX_WSTR fileNameSrc, FX_WSTR fileNameDst) 210 FX_BOOL FX_File_Move(FX_WSTR fileNameSrc, FX_WSTR fileNameDst)
219 { 211 {
220 return ::MoveFileW((LPCWSTR)fileNameSrc.GetPtr(), (LPCWSTR)fileNameDst.GetPt r()); 212 return ::MoveFileW((LPCWSTR)fileNameSrc.GetPtr(), (LPCWSTR)fileNameDst.GetPt r());
221 } 213 }
222 #endif 214 #endif
OLDNEW
« no previous file with comments | « core/src/fxcrt/fxcrt_windows.h ('k') | core/src/fxcrt/mem_int.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698