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

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

Issue 2450183003: Fix some FX_BOOL / int noise in fxcrt. (Closed)
Patch Set: moar Created 4 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 | « core/fxcrt/fxcrt_windows.h ('k') | core/fxcrt/xml_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 "core/fxcrt/fxcrt_windows.h" 7 #include "core/fxcrt/fxcrt_windows.h"
8 8
9 #include "core/fxcrt/fx_string.h" 9 #include "core/fxcrt/fx_string.h"
10 10
(...skipping 10 matching lines...) Expand all
21 uint32_t& dwCreation) { 21 uint32_t& dwCreation) {
22 dwAccess = GENERIC_READ; 22 dwAccess = GENERIC_READ;
23 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE; 23 dwShare = FILE_SHARE_READ | FILE_SHARE_WRITE;
24 if (!(dwMode & FX_FILEMODE_ReadOnly)) { 24 if (!(dwMode & FX_FILEMODE_ReadOnly)) {
25 dwAccess |= GENERIC_WRITE; 25 dwAccess |= GENERIC_WRITE;
26 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWAYS; 26 dwCreation = (dwMode & FX_FILEMODE_Truncate) ? CREATE_ALWAYS : OPEN_ALWAYS;
27 } else { 27 } else {
28 dwCreation = OPEN_EXISTING; 28 dwCreation = OPEN_EXISTING;
29 } 29 }
30 } 30 }
31
31 #ifdef __cplusplus 32 #ifdef __cplusplus
32 extern "C" { 33 extern "C" {
33 #endif 34 #endif
34 WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize); 35 WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize);
35 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE hFile, 36 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE hFile,
36 LARGE_INTEGER liDistanceToMove, 37 LARGE_INTEGER liDistanceToMove,
37 PLARGE_INTEGER lpNewFilePointer, 38 PLARGE_INTEGER lpNewFilePointer,
38 DWORD dwMoveMethod); 39 DWORD dwMoveMethod);
39 #ifdef __cplusplus 40 #ifdef __cplusplus
40 } 41 }
41 #endif 42 #endif
43
42 CFXCRT_FileAccess_Win64::CFXCRT_FileAccess_Win64() : m_hFile(nullptr) {} 44 CFXCRT_FileAccess_Win64::CFXCRT_FileAccess_Win64() : m_hFile(nullptr) {}
45
43 CFXCRT_FileAccess_Win64::~CFXCRT_FileAccess_Win64() { 46 CFXCRT_FileAccess_Win64::~CFXCRT_FileAccess_Win64() {
44 Close(); 47 Close();
45 } 48 }
46 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName, 49
47 uint32_t dwMode) { 50 bool CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName,
48 if (m_hFile) { 51 uint32_t dwMode) {
52 if (m_hFile)
49 return FALSE; 53 return FALSE;
50 } 54
51 uint32_t dwAccess, dwShare, dwCreation; 55 uint32_t dwAccess, dwShare, dwCreation;
52 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation); 56 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
53 m_hFile = ::CreateFileA(fileName.c_str(), dwAccess, dwShare, nullptr, 57 m_hFile = ::CreateFileA(fileName.c_str(), dwAccess, dwShare, nullptr,
54 dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr); 58 dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr);
55 if (m_hFile == INVALID_HANDLE_VALUE) 59 if (m_hFile == INVALID_HANDLE_VALUE)
56 m_hFile = nullptr; 60 m_hFile = nullptr;
61
57 return !!m_hFile; 62 return !!m_hFile;
58 } 63 }
59 FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName, 64
60 uint32_t dwMode) { 65 bool CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName,
61 if (m_hFile) { 66 uint32_t dwMode) {
67 if (m_hFile)
62 return FALSE; 68 return FALSE;
63 } 69
64 uint32_t dwAccess, dwShare, dwCreation; 70 uint32_t dwAccess, dwShare, dwCreation;
65 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation); 71 FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
66 m_hFile = ::CreateFileW((LPCWSTR)fileName.c_str(), dwAccess, dwShare, nullptr, 72 m_hFile = ::CreateFileW((LPCWSTR)fileName.c_str(), dwAccess, dwShare, nullptr,
67 dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr); 73 dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr);
68 if (m_hFile == INVALID_HANDLE_VALUE) 74 if (m_hFile == INVALID_HANDLE_VALUE)
69 m_hFile = nullptr; 75 m_hFile = nullptr;
76
70 return !!m_hFile; 77 return !!m_hFile;
71 } 78 }
79
72 void CFXCRT_FileAccess_Win64::Close() { 80 void CFXCRT_FileAccess_Win64::Close() {
73 if (!m_hFile) { 81 if (!m_hFile)
74 return; 82 return;
75 } 83
76 ::CloseHandle(m_hFile); 84 ::CloseHandle(m_hFile);
77 m_hFile = nullptr; 85 m_hFile = nullptr;
78 } 86 }
87
79 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const { 88 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const {
80 if (!m_hFile) { 89 if (!m_hFile)
81 return 0; 90 return 0;
82 } 91
83 LARGE_INTEGER size = {}; 92 LARGE_INTEGER size = {};
84 if (!::GetFileSizeEx(m_hFile, &size)) { 93 if (!::GetFileSizeEx(m_hFile, &size))
85 return 0; 94 return 0;
86 } 95
87 return (FX_FILESIZE)size.QuadPart; 96 return (FX_FILESIZE)size.QuadPart;
88 } 97 }
98
89 FX_FILESIZE CFXCRT_FileAccess_Win64::GetPosition() const { 99 FX_FILESIZE CFXCRT_FileAccess_Win64::GetPosition() const {
90 if (!m_hFile) { 100 if (!m_hFile)
91 return (FX_FILESIZE)-1; 101 return (FX_FILESIZE)-1;
92 } 102
93 LARGE_INTEGER dist = {}; 103 LARGE_INTEGER dist = {};
94 LARGE_INTEGER newPos = {}; 104 LARGE_INTEGER newPos = {};
95 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT)) { 105 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT))
96 return (FX_FILESIZE)-1; 106 return (FX_FILESIZE)-1;
97 } 107
98 return (FX_FILESIZE)newPos.QuadPart; 108 return (FX_FILESIZE)newPos.QuadPart;
99 } 109 }
110
100 FX_FILESIZE CFXCRT_FileAccess_Win64::SetPosition(FX_FILESIZE pos) { 111 FX_FILESIZE CFXCRT_FileAccess_Win64::SetPosition(FX_FILESIZE pos) {
101 if (!m_hFile) { 112 if (!m_hFile)
102 return (FX_FILESIZE)-1; 113 return (FX_FILESIZE)-1;
103 } 114
104 LARGE_INTEGER dist; 115 LARGE_INTEGER dist;
105 dist.QuadPart = pos; 116 dist.QuadPart = pos;
106 LARGE_INTEGER newPos = {}; 117 LARGE_INTEGER newPos = {};
107 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN)) { 118 if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN))
108 return (FX_FILESIZE)-1; 119 return (FX_FILESIZE)-1;
109 } 120
110 return (FX_FILESIZE)newPos.QuadPart; 121 return (FX_FILESIZE)newPos.QuadPart;
111 } 122 }
123
112 size_t CFXCRT_FileAccess_Win64::Read(void* pBuffer, size_t szBuffer) { 124 size_t CFXCRT_FileAccess_Win64::Read(void* pBuffer, size_t szBuffer) {
113 if (!m_hFile) { 125 if (!m_hFile)
114 return 0; 126 return 0;
115 } 127
116 size_t szRead = 0; 128 size_t szRead = 0;
117 if (!::ReadFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szRead, 129 if (!::ReadFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szRead,
118 nullptr)) { 130 nullptr)) {
119 return 0; 131 return 0;
120 } 132 }
121 return szRead; 133 return szRead;
122 } 134 }
135
123 size_t CFXCRT_FileAccess_Win64::Write(const void* pBuffer, size_t szBuffer) { 136 size_t CFXCRT_FileAccess_Win64::Write(const void* pBuffer, size_t szBuffer) {
124 if (!m_hFile) { 137 if (!m_hFile)
125 return 0; 138 return 0;
126 } 139
127 size_t szWrite = 0; 140 size_t szWrite = 0;
128 if (!::WriteFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szWrite, 141 if (!::WriteFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szWrite,
129 nullptr)) { 142 nullptr)) {
130 return 0; 143 return 0;
131 } 144 }
132 return szWrite; 145 return szWrite;
133 } 146 }
147
134 size_t CFXCRT_FileAccess_Win64::ReadPos(void* pBuffer, 148 size_t CFXCRT_FileAccess_Win64::ReadPos(void* pBuffer,
135 size_t szBuffer, 149 size_t szBuffer,
136 FX_FILESIZE pos) { 150 FX_FILESIZE pos) {
137 if (!m_hFile) { 151 if (!m_hFile)
138 return 0; 152 return 0;
139 } 153
140 if (pos >= GetSize()) { 154 if (pos >= GetSize())
141 return 0; 155 return 0;
142 } 156
143 if (SetPosition(pos) == (FX_FILESIZE)-1) { 157 if (SetPosition(pos) == (FX_FILESIZE)-1)
144 return 0; 158 return 0;
145 } 159
146 return Read(pBuffer, szBuffer); 160 return Read(pBuffer, szBuffer);
147 } 161 }
162
148 size_t CFXCRT_FileAccess_Win64::WritePos(const void* pBuffer, 163 size_t CFXCRT_FileAccess_Win64::WritePos(const void* pBuffer,
149 size_t szBuffer, 164 size_t szBuffer,
150 FX_FILESIZE pos) { 165 FX_FILESIZE pos) {
151 if (!m_hFile) { 166 if (!m_hFile) {
152 return 0; 167 return 0;
153 } 168 }
154 if (SetPosition(pos) == (FX_FILESIZE)-1) { 169 if (SetPosition(pos) == (FX_FILESIZE)-1) {
155 return 0; 170 return 0;
156 } 171 }
157 return Write(pBuffer, szBuffer); 172 return Write(pBuffer, szBuffer);
158 } 173 }
159 FX_BOOL CFXCRT_FileAccess_Win64::Flush() { 174
160 if (!m_hFile) { 175 bool CFXCRT_FileAccess_Win64::Flush() {
161 return FALSE; 176 if (!m_hFile)
162 } 177 return false;
163 return ::FlushFileBuffers(m_hFile); 178
179 return !!::FlushFileBuffers(m_hFile);
164 } 180 }
165 FX_BOOL CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) { 181
166 if (SetPosition(szFile) == (FX_FILESIZE)-1) { 182 bool CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) {
167 return FALSE; 183 if (SetPosition(szFile) == (FX_FILESIZE)-1)
168 } 184 return false;
169 return ::SetEndOfFile(m_hFile); 185
186 return !!::SetEndOfFile(m_hFile);
170 } 187 }
171 #endif 188 #endif
OLDNEW
« no previous file with comments | « core/fxcrt/fxcrt_windows.h ('k') | core/fxcrt/xml_int.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698