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

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

Issue 1265503005: clang-format all pdfium code. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: sigh Created 5 years, 4 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
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_string.h" 7 #include "../../include/fxcrt/fx_string.h"
8 #include "fxcrt_windows.h" 8 #include "fxcrt_windows.h"
9 9
10 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ 10 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
11 FX_BOOL FX_File_Exist(const CFX_ByteStringC& fileName) 11 FX_BOOL FX_File_Exist(const CFX_ByteStringC& fileName) {
12 { 12 FX_DWORD dwAttri = ::GetFileAttributesA(fileName.GetCStr());
13 FX_DWORD dwAttri = ::GetFileAttributesA(fileName.GetCStr()); 13 if (dwAttri == -1) {
14 if (dwAttri == -1) { 14 return FALSE;
15 return FALSE; 15 }
16 } 16 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0;
17 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0; 17 }
18 } 18 FX_BOOL FX_File_Exist(const CFX_WideStringC& fileName) {
19 FX_BOOL FX_File_Exist(const CFX_WideStringC& fileName) 19 FX_DWORD dwAttri = ::GetFileAttributesW((LPCWSTR)fileName.GetPtr());
20 { 20 if (dwAttri == -1) {
21 FX_DWORD dwAttri = ::GetFileAttributesW((LPCWSTR)fileName.GetPtr()); 21 return FALSE;
22 if (dwAttri == -1) { 22 }
23 return FALSE; 23 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0;
24 } 24 }
25 return (dwAttri & FILE_ATTRIBUTE_DIRECTORY) == 0; 25 IFXCRT_FileAccess* FXCRT_FileAccess_Create() {
26 } 26 return new CFXCRT_FileAccess_Win64;
27 IFXCRT_FileAccess* FXCRT_FileAccess_Create() 27 }
28 { 28 void FXCRT_Windows_GetFileMode(FX_DWORD dwMode,
29 return new CFXCRT_FileAccess_Win64; 29 FX_DWORD& dwAccess,
30 } 30 FX_DWORD& dwShare,
31 void FXCRT_Windows_GetFileMode(FX_DWORD dwMode, FX_DWORD &dwAccess, FX_DWORD &dw Share, FX_DWORD &dwCreation) 31 FX_DWORD& dwCreation) {
32 { 32 dwAccess = GENERIC_READ;
33 dwAccess = GENERIC_READ; 33 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE;
34 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE; 34 if (!(dwMode & FX_FILEMODE_ReadOnly)) {
35 if (!(dwMode & FX_FILEMODE_ReadOnly)) { 35 dwAccess |= GENERIC_WRITE;
36 dwAccess |= GENERIC_WRITE; 36 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWAYS;
37 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWA YS; 37 } else {
38 } else { 38 dwCreation = OPEN_EXISTING;
39 dwCreation = OPEN_EXISTING; 39 }
40 }
41 } 40 }
42 #ifdef __cplusplus 41 #ifdef __cplusplus
43 extern "C" { 42 extern "C" {
44 #endif 43 #endif
45 WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize); 44 WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize);
46 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE hFile, LARGE_INTEGER liDistanceTo Move, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod); 45 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE hFile,
46 LARGE_INTEGER liDistanceToMove,
47 PLARGE_INTEGER lpNewFilePointer,
48 DWORD dwMoveMethod);
47 #ifdef __cplusplus 49 #ifdef __cplusplus
48 } 50 }
49 #endif 51 #endif
50 CFXCRT_FileAccess_Win64::CFXCRT_FileAccess_Win64() 52 CFXCRT_FileAccess_Win64::CFXCRT_FileAccess_Win64() : m_hFile(NULL) {}
51 : m_hFile(NULL) 53 CFXCRT_FileAccess_Win64::~CFXCRT_FileAccess_Win64() {
52 { 54 Close();
53 } 55 }
54 CFXCRT_FileAccess_Win64::~CFXCRT_FileAccess_Win64() 56 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName,
55 { 57 FX_DWORD dwMode) {
56 Close(); 58 if (m_hFile) {
57 } 59 return FALSE;
58 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName, FX_DWORD dwMode) 60 }
59 { 61 FX_DWORD dwAccess, dwShare, dwCreation;
60 if (m_hFile) { 62 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
61 return FALSE; 63 m_hFile = ::CreateFileA(fileName.GetCStr(), dwAccess, dwShare, NULL,
62 } 64 dwCreation, FILE_ATTRIBUTE_NORMAL, NULL);
63 FX_DWORD dwAccess, dwShare, dwCreation; 65 if (m_hFile == INVALID_HANDLE_VALUE) {
64 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
65 m_hFile = ::CreateFileA(fileName.GetCStr(), dwAccess, dwShare, NULL, dwCreat ion, FILE_ATTRIBUTE_NORMAL, NULL);
66 if (m_hFile == INVALID_HANDLE_VALUE) {
67 m_hFile = NULL;
68 }
69 return m_hFile != NULL;
70 }
71 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName, FX_DWORD dwMode)
72 {
73 if (m_hFile) {
74 return FALSE;
75 }
76 FX_DWORD dwAccess, dwShare, dwCreation;
77 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
78 m_hFile = ::CreateFileW((LPCWSTR)fileName.GetPtr(), dwAccess, dwShare, NULL, dwCreation, FILE_ATTRIBUTE_NORMAL, NULL);
79 if (m_hFile == INVALID_HANDLE_VALUE) {
80 m_hFile = NULL;
81 }
82 return m_hFile != NULL;
83 }
84 void CFXCRT_FileAccess_Win64::Close()
85 {
86 if (!m_hFile) {
87 return;
88 }
89 ::CloseHandle(m_hFile);
90 m_hFile = NULL; 66 m_hFile = NULL;
91 } 67 }
92 void CFXCRT_FileAccess_Win64::Release() 68 return m_hFile != NULL;
93 { 69 }
94 delete this; 70 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName,
95 } 71 FX_DWORD dwMode) {
96 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const 72 if (m_hFile) {
97 { 73 return FALSE;
98 if (!m_hFile) { 74 }
99 return 0; 75 FX_DWORD dwAccess, dwShare, dwCreation;
100 } 76 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
101 LARGE_INTEGER size = {}; 77 m_hFile = ::CreateFileW((LPCWSTR)fileName.GetPtr(), dwAccess, dwShare, NULL,
102 if (!::GetFileSizeEx(m_hFile, &size)) { 78 dwCreation, FILE_ATTRIBUTE_NORMAL, NULL);
103 return 0; 79 if (m_hFile == INVALID_HANDLE_VALUE) {
104 } 80 m_hFile = NULL;
105 return (FX_FILESIZE)size.QuadPart; 81 }
106 } 82 return m_hFile != NULL;
107 FX_FILESIZE CFXCRT_FileAccess_Win64::GetPosition() const 83 }
108 { 84 void CFXCRT_FileAccess_Win64::Close() {
109 if (!m_hFile) { 85 if (!m_hFile) {
110 return (FX_FILESIZE) - 1; 86 return;
111 } 87 }
112 LARGE_INTEGER dist = {}; 88 ::CloseHandle(m_hFile);
113 LARGE_INTEGER newPos = {}; 89 m_hFile = NULL;
114 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT)) { 90 }
115 return (FX_FILESIZE) - 1; 91 void CFXCRT_FileAccess_Win64::Release() {
116 } 92 delete this;
117 return (FX_FILESIZE)newPos.QuadPart; 93 }
118 } 94 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const {
119 FX_FILESIZE CFXCRT_FileAccess_Win64::SetPosition(FX_FILESIZE pos) 95 if (!m_hFile) {
120 { 96 return 0;
121 if (!m_hFile) { 97 }
122 return (FX_FILESIZE) - 1; 98 LARGE_INTEGER size = {};
123 } 99 if (!::GetFileSizeEx(m_hFile, &size)) {
124 LARGE_INTEGER dist; 100 return 0;
125 dist.QuadPart = pos; 101 }
126 LARGE_INTEGER newPos = {}; 102 return (FX_FILESIZE)size.QuadPart;
127 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN)) { 103 }
128 return (FX_FILESIZE) - 1; 104 FX_FILESIZE CFXCRT_FileAccess_Win64::GetPosition() const {
129 } 105 if (!m_hFile) {
130 return (FX_FILESIZE)newPos.QuadPart; 106 return (FX_FILESIZE)-1;
131 } 107 }
132 size_t CFXCRT_FileAccess_Win64::Read(void* pBuffer, size_t szBuffer) 108 LARGE_INTEGER dist = {};
133 { 109 LARGE_INTEGER newPos = {};
134 if (!m_hFile) { 110 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT)) {
135 return 0; 111 return (FX_FILESIZE)-1;
136 } 112 }
137 size_t szRead = 0; 113 return (FX_FILESIZE)newPos.QuadPart;
138 if (!::ReadFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szRead, NULL)) { 114 }
139 return 0; 115 FX_FILESIZE CFXCRT_FileAccess_Win64::SetPosition(FX_FILESIZE pos) {
140 } 116 if (!m_hFile) {
141 return szRead; 117 return (FX_FILESIZE)-1;
142 } 118 }
143 size_t CFXCRT_FileAccess_Win64::Write(const void* pBuffer, size_t szBuffer) 119 LARGE_INTEGER dist;
144 { 120 dist.QuadPart = pos;
145 if (!m_hFile) { 121 LARGE_INTEGER newPos = {};
146 return 0; 122 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN)) {
147 } 123 return (FX_FILESIZE)-1;
148 size_t szWrite = 0; 124 }
149 if (!::WriteFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szWrite, NULL) ) { 125 return (FX_FILESIZE)newPos.QuadPart;
150 return 0; 126 }
151 } 127 size_t CFXCRT_FileAccess_Win64::Read(void* pBuffer, size_t szBuffer) {
152 return szWrite; 128 if (!m_hFile) {
153 } 129 return 0;
154 size_t CFXCRT_FileAccess_Win64::ReadPos(void* pBuffer, size_t szBuffer, FX_FILES IZE pos) 130 }
155 { 131 size_t szRead = 0;
156 if (!m_hFile) { 132 if (!::ReadFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szRead, NULL)) {
157 return 0; 133 return 0;
158 } 134 }
159 if (pos >= GetSize()) { 135 return szRead;
160 return 0; 136 }
161 } 137 size_t CFXCRT_FileAccess_Win64::Write(const void* pBuffer, size_t szBuffer) {
162 if (SetPosition(pos) == (FX_FILESIZE) - 1) { 138 if (!m_hFile) {
163 return 0; 139 return 0;
164 } 140 }
165 return Read(pBuffer, szBuffer); 141 size_t szWrite = 0;
166 } 142 if (!::WriteFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szWrite,
167 size_t CFXCRT_FileAccess_Win64::WritePos(const void* pBuffer, size_t szBuffer, F X_FILESIZE pos) 143 NULL)) {
168 { 144 return 0;
169 if (!m_hFile) { 145 }
170 return 0; 146 return szWrite;
171 } 147 }
172 if (SetPosition(pos) == (FX_FILESIZE) - 1) { 148 size_t CFXCRT_FileAccess_Win64::ReadPos(void* pBuffer,
173 return 0; 149 size_t szBuffer,
174 } 150 FX_FILESIZE pos) {
175 return Write(pBuffer, szBuffer); 151 if (!m_hFile) {
176 } 152 return 0;
177 FX_BOOL CFXCRT_FileAccess_Win64::Flush() 153 }
178 { 154 if (pos >= GetSize()) {
179 if (!m_hFile) { 155 return 0;
180 return FALSE; 156 }
181 } 157 if (SetPosition(pos) == (FX_FILESIZE)-1) {
182 return ::FlushFileBuffers(m_hFile); 158 return 0;
183 } 159 }
184 FX_BOOL CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) 160 return Read(pBuffer, szBuffer);
185 { 161 }
186 if (SetPosition(szFile) == (FX_FILESIZE) - 1) { 162 size_t CFXCRT_FileAccess_Win64::WritePos(const void* pBuffer,
187 return FALSE; 163 size_t szBuffer,
188 } 164 FX_FILESIZE pos) {
189 return ::SetEndOfFile(m_hFile); 165 if (!m_hFile) {
190 } 166 return 0;
191 FX_BOOL FX_File_Delete(const CFX_ByteStringC& fileName) 167 }
192 { 168 if (SetPosition(pos) == (FX_FILESIZE)-1) {
193 return ::DeleteFileA(fileName.GetCStr()); 169 return 0;
194 } 170 }
195 FX_BOOL FX_File_Delete(const CFX_WideStringC& fileName) 171 return Write(pBuffer, szBuffer);
196 { 172 }
197 return ::DeleteFileW((LPCWSTR)fileName.GetPtr()); 173 FX_BOOL CFXCRT_FileAccess_Win64::Flush() {
198 } 174 if (!m_hFile) {
199 FX_BOOL FX_File_Copy(const CFX_ByteStringC& fileNameSrc, const CFX_ByteStringC& fileNameDst) 175 return FALSE;
200 { 176 }
201 return ::CopyFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr(), FALSE); 177 return ::FlushFileBuffers(m_hFile);
202 } 178 }
203 FX_BOOL FX_File_Copy(const CFX_WideStringC& fileNameSrc, const CFX_WideStringC& fileNameDst) 179 FX_BOOL CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) {
204 { 180 if (SetPosition(szFile) == (FX_FILESIZE)-1) {
205 return ::CopyFileW((LPCWSTR)fileNameSrc.GetPtr(), (LPCWSTR)fileNameDst.GetPt r(), FALSE); 181 return FALSE;
206 } 182 }
207 FX_BOOL FX_File_Move(const CFX_ByteStringC& fileNameSrc, const CFX_ByteStringC& fileNameDst) 183 return ::SetEndOfFile(m_hFile);
208 { 184 }
209 return ::MoveFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr()); 185 FX_BOOL FX_File_Delete(const CFX_ByteStringC& fileName) {
210 } 186 return ::DeleteFileA(fileName.GetCStr());
211 FX_BOOL FX_File_Move(const CFX_WideStringC& fileNameSrc, const CFX_WideStringC& fileNameDst) 187 }
212 { 188 FX_BOOL FX_File_Delete(const CFX_WideStringC& fileName) {
213 return ::MoveFileW((LPCWSTR)fileNameSrc.GetPtr(), (LPCWSTR)fileNameDst.GetPt r()); 189 return ::DeleteFileW((LPCWSTR)fileName.GetPtr());
190 }
191 FX_BOOL FX_File_Copy(const CFX_ByteStringC& fileNameSrc,
192 const CFX_ByteStringC& fileNameDst) {
193 return ::CopyFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr(), FALSE);
194 }
195 FX_BOOL FX_File_Copy(const CFX_WideStringC& fileNameSrc,
196 const CFX_WideStringC& fileNameDst) {
197 return ::CopyFileW((LPCWSTR)fileNameSrc.GetPtr(),
198 (LPCWSTR)fileNameDst.GetPtr(), FALSE);
199 }
200 FX_BOOL FX_File_Move(const CFX_ByteStringC& fileNameSrc,
201 const CFX_ByteStringC& fileNameDst) {
202 return ::MoveFileA(fileNameSrc.GetCStr(), fileNameDst.GetCStr());
203 }
204 FX_BOOL FX_File_Move(const CFX_WideStringC& fileNameSrc,
205 const CFX_WideStringC& fileNameDst) {
206 return ::MoveFileW((LPCWSTR)fileNameSrc.GetPtr(),
207 (LPCWSTR)fileNameDst.GetPtr());
214 } 208 }
215 #endif 209 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698