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

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

Issue 1994323002: Remove Release() from IFXCRT_FileAccess (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: include <utility>. Created 4 years, 7 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/fxcrt/fxcrt_posix.h ('k') | core/fxcrt/fxcrt_windows.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_posix.h" 7 #include "core/fxcrt/fxcrt_posix.h"
8 8
9 #include "core/fxcrt/include/fx_basic.h" 9 #include "core/fxcrt/include/fx_basic.h"
10 10
11 #if _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ || \ 11 #if _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ || \
12 _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || \ 12 _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || \
13 _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_ 13 _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_
14 IFXCRT_FileAccess* FXCRT_FileAccess_Create() { 14
15 // static
16 IFXCRT_FileAccess* IFXCRT_FileAccess::Create() {
15 return new CFXCRT_FileAccess_Posix; 17 return new CFXCRT_FileAccess_Posix;
16 } 18 }
19
17 void FXCRT_Posix_GetFileMode(uint32_t dwModes, 20 void FXCRT_Posix_GetFileMode(uint32_t dwModes,
18 int32_t& nFlags, 21 int32_t& nFlags,
19 int32_t& nMasks) { 22 int32_t& nMasks) {
20 nFlags = O_BINARY | O_LARGEFILE; 23 nFlags = O_BINARY | O_LARGEFILE;
21 if (dwModes & FX_FILEMODE_ReadOnly) { 24 if (dwModes & FX_FILEMODE_ReadOnly) {
22 nFlags |= O_RDONLY; 25 nFlags |= O_RDONLY;
23 nMasks = 0; 26 nMasks = 0;
24 } else { 27 } else {
25 nFlags |= O_RDWR | O_CREAT; 28 nFlags |= O_RDWR | O_CREAT;
26 if (dwModes & FX_FILEMODE_Truncate) { 29 if (dwModes & FX_FILEMODE_Truncate) {
(...skipping 20 matching lines...) Expand all
47 uint32_t dwMode) { 50 uint32_t dwMode) {
48 return Open(FX_UTF8Encode(fileName).AsStringC(), dwMode); 51 return Open(FX_UTF8Encode(fileName).AsStringC(), dwMode);
49 } 52 }
50 void CFXCRT_FileAccess_Posix::Close() { 53 void CFXCRT_FileAccess_Posix::Close() {
51 if (m_nFD < 0) { 54 if (m_nFD < 0) {
52 return; 55 return;
53 } 56 }
54 close(m_nFD); 57 close(m_nFD);
55 m_nFD = -1; 58 m_nFD = -1;
56 } 59 }
57 void CFXCRT_FileAccess_Posix::Release() {
58 delete this;
59 }
60 FX_FILESIZE CFXCRT_FileAccess_Posix::GetSize() const { 60 FX_FILESIZE CFXCRT_FileAccess_Posix::GetSize() const {
61 if (m_nFD < 0) { 61 if (m_nFD < 0) {
62 return 0; 62 return 0;
63 } 63 }
64 struct stat s; 64 struct stat s;
65 FXSYS_memset(&s, 0, sizeof(s)); 65 FXSYS_memset(&s, 0, sizeof(s));
66 fstat(m_nFD, &s); 66 fstat(m_nFD, &s);
67 return s.st_size; 67 return s.st_size;
68 } 68 }
69 FX_FILESIZE CFXCRT_FileAccess_Posix::GetPosition() const { 69 FX_FILESIZE CFXCRT_FileAccess_Posix::GetPosition() const {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 return FALSE; 120 return FALSE;
121 } 121 }
122 return fsync(m_nFD) > -1; 122 return fsync(m_nFD) > -1;
123 } 123 }
124 FX_BOOL CFXCRT_FileAccess_Posix::Truncate(FX_FILESIZE szFile) { 124 FX_BOOL CFXCRT_FileAccess_Posix::Truncate(FX_FILESIZE szFile) {
125 if (m_nFD < 0) { 125 if (m_nFD < 0) {
126 return FALSE; 126 return FALSE;
127 } 127 }
128 return !ftruncate(m_nFD, szFile); 128 return !ftruncate(m_nFD, szFile);
129 } 129 }
130
130 #endif 131 #endif
OLDNEW
« no previous file with comments | « core/fxcrt/fxcrt_posix.h ('k') | core/fxcrt/fxcrt_windows.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698