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

Side by Side Diff: base/file_util_posix.cc

Issue 18584011: Rename base::Delete to base::DeleteFile (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « base/file_util.h ('k') | base/file_util_unittest.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium 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 #include "base/file_util.h" 5 #include "base/file_util.h"
6 6
7 #include <dirent.h> 7 #include <dirent.h>
8 #include <errno.h> 8 #include <errno.h>
9 #include <fcntl.h> 9 #include <fcntl.h>
10 #include <libgen.h> 10 #include <libgen.h>
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 char full_path[PATH_MAX]; 153 char full_path[PATH_MAX];
154 if (realpath(input.value().c_str(), full_path) == NULL) 154 if (realpath(input.value().c_str(), full_path) == NULL)
155 return FilePath(); 155 return FilePath();
156 return FilePath(full_path); 156 return FilePath(full_path);
157 } 157 }
158 158
159 // TODO(erikkay): The Windows version of this accepts paths like "foo/bar/*" 159 // TODO(erikkay): The Windows version of this accepts paths like "foo/bar/*"
160 // which works both with and without the recursive flag. I'm not sure we need 160 // which works both with and without the recursive flag. I'm not sure we need
161 // that functionality. If not, remove from file_util_win.cc, otherwise add it 161 // that functionality. If not, remove from file_util_win.cc, otherwise add it
162 // here. 162 // here.
163 bool Delete(const FilePath& path, bool recursive) { 163 bool DeleteFile(const FilePath& path, bool recursive) {
164 ThreadRestrictions::AssertIOAllowed(); 164 ThreadRestrictions::AssertIOAllowed();
165 const char* path_str = path.value().c_str(); 165 const char* path_str = path.value().c_str();
166 stat_wrapper_t file_info; 166 stat_wrapper_t file_info;
167 int test = CallLstat(path_str, &file_info); 167 int test = CallLstat(path_str, &file_info);
168 if (test != 0) { 168 if (test != 0) {
169 // The Windows version defines this condition as success. 169 // The Windows version defines this condition as success.
170 bool ret = (errno == ENOENT || errno == ENOTDIR); 170 bool ret = (errno == ENOENT || errno == ENOTDIR);
171 return ret; 171 return ret;
172 } 172 }
173 if (!S_ISDIR(file_info.st_mode)) 173 if (!S_ISDIR(file_info.st_mode))
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 // but its kernel allows mprotect with PROT_EXEC anyway. 728 // but its kernel allows mprotect with PROT_EXEC anyway.
729 729
730 namespace { 730 namespace {
731 731
732 bool DetermineDevShmExecutable() { 732 bool DetermineDevShmExecutable() {
733 bool result = false; 733 bool result = false;
734 FilePath path; 734 FilePath path;
735 int fd = CreateAndOpenFdForTemporaryFile(FilePath("/dev/shm"), &path); 735 int fd = CreateAndOpenFdForTemporaryFile(FilePath("/dev/shm"), &path);
736 if (fd >= 0) { 736 if (fd >= 0) {
737 ScopedFD shm_fd_closer(&fd); 737 ScopedFD shm_fd_closer(&fd);
738 Delete(path, false); 738 DeleteFile(path, false);
739 long sysconf_result = sysconf(_SC_PAGESIZE); 739 long sysconf_result = sysconf(_SC_PAGESIZE);
740 CHECK_GE(sysconf_result, 0); 740 CHECK_GE(sysconf_result, 0);
741 size_t pagesize = static_cast<size_t>(sysconf_result); 741 size_t pagesize = static_cast<size_t>(sysconf_result);
742 CHECK_GE(sizeof(pagesize), sizeof(sysconf_result)); 742 CHECK_GE(sizeof(pagesize), sizeof(sysconf_result));
743 void *mapping = mmap(NULL, pagesize, PROT_READ, MAP_SHARED, fd, 0); 743 void *mapping = mmap(NULL, pagesize, PROT_READ, MAP_SHARED, fd, 0);
744 if (mapping != MAP_FAILED) { 744 if (mapping != MAP_FAILED) {
745 if (mprotect(mapping, pagesize, PROT_READ | PROT_EXEC) == 0) 745 if (mprotect(mapping, pagesize, PROT_READ | PROT_EXEC) == 0)
746 result = true; 746 result = true;
747 munmap(mapping, pagesize); 747 munmap(mapping, pagesize);
748 } 748 }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 return false; 893 return false;
894 } 894 }
895 } 895 }
896 896
897 if (rename(from_path.value().c_str(), to_path.value().c_str()) == 0) 897 if (rename(from_path.value().c_str(), to_path.value().c_str()) == 0)
898 return true; 898 return true;
899 899
900 if (!CopyDirectory(from_path, to_path, true)) 900 if (!CopyDirectory(from_path, to_path, true))
901 return false; 901 return false;
902 902
903 Delete(from_path, true); 903 DeleteFile(from_path, true);
904 return true; 904 return true;
905 } 905 }
906 906
907 #if !defined(OS_MACOSX) 907 #if !defined(OS_MACOSX)
908 // Mac has its own implementation, this is for all other Posix systems. 908 // Mac has its own implementation, this is for all other Posix systems.
909 bool CopyFileUnsafe(const FilePath& from_path, const FilePath& to_path) { 909 bool CopyFileUnsafe(const FilePath& from_path, const FilePath& to_path) {
910 ThreadRestrictions::AssertIOAllowed(); 910 ThreadRestrictions::AssertIOAllowed();
911 int infile = HANDLE_EINTR(open(from_path.value().c_str(), O_RDONLY)); 911 int infile = HANDLE_EINTR(open(from_path.value().c_str(), O_RDONLY));
912 if (infile < 0) 912 if (infile < 0)
913 return false; 913 return false;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 result = false; 949 result = false;
950 if (HANDLE_EINTR(close(outfile)) < 0) 950 if (HANDLE_EINTR(close(outfile)) < 0)
951 result = false; 951 result = false;
952 952
953 return result; 953 return result;
954 } 954 }
955 #endif // !defined(OS_MACOSX) 955 #endif // !defined(OS_MACOSX)
956 956
957 } // namespace internal 957 } // namespace internal
958 } // namespace base 958 } // namespace base
OLDNEW
« no previous file with comments | « base/file_util.h ('k') | base/file_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698