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

Side by Side Diff: base/file_util_posix.cc

Issue 8564020: define OS_BSD on *BSD and replace the ifdefs to use that (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 9 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 | « base/debug/debugger_posix.cc ('k') | base/platform_file_posix.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <fnmatch.h> 10 #include <fnmatch.h>
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 #include "base/utf_string_conversions.h" 47 #include "base/utf_string_conversions.h"
48 48
49 #if defined(OS_ANDROID) 49 #if defined(OS_ANDROID)
50 #include "base/os_compat_android.h" 50 #include "base/os_compat_android.h"
51 #endif 51 #endif
52 52
53 namespace file_util { 53 namespace file_util {
54 54
55 namespace { 55 namespace {
56 56
57 #if defined(OS_OPENBSD) || defined(OS_FREEBSD) || \ 57 #if defined(OS_BSD) || (defined(OS_MACOSX) && \
58 (defined(OS_MACOSX) && \ 58 MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
59 MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
60 typedef struct stat stat_wrapper_t; 59 typedef struct stat stat_wrapper_t;
61 static int CallStat(const char *path, stat_wrapper_t *sb) { 60 static int CallStat(const char *path, stat_wrapper_t *sb) {
62 base::ThreadRestrictions::AssertIOAllowed(); 61 base::ThreadRestrictions::AssertIOAllowed();
63 return stat(path, sb); 62 return stat(path, sb);
64 } 63 }
65 static int CallLstat(const char *path, stat_wrapper_t *sb) { 64 static int CallLstat(const char *path, stat_wrapper_t *sb) {
66 base::ThreadRestrictions::AssertIOAllowed(); 65 base::ThreadRestrictions::AssertIOAllowed();
67 return lstat(path, sb); 66 return lstat(path, sb);
68 } 67 }
69 #else 68 #else
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 return true; 150 return true;
152 } 151 }
153 152
154 int CountFilesCreatedAfter(const FilePath& path, 153 int CountFilesCreatedAfter(const FilePath& path,
155 const base::Time& comparison_time) { 154 const base::Time& comparison_time) {
156 base::ThreadRestrictions::AssertIOAllowed(); 155 base::ThreadRestrictions::AssertIOAllowed();
157 int file_count = 0; 156 int file_count = 0;
158 157
159 DIR* dir = opendir(path.value().c_str()); 158 DIR* dir = opendir(path.value().c_str());
160 if (dir) { 159 if (dir) {
161 #if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD) && \ 160 #if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_BSD) && \
162 !defined(OS_OPENBSD) && !defined(OS_SOLARIS) && !defined(OS_ANDROID) 161 !defined(OS_SOLARIS) && !defined(OS_ANDROID)
163 #error Port warning: depending on the definition of struct dirent, \ 162 #error Port warning: depending on the definition of struct dirent, \
164 additional space for pathname may be needed 163 additional space for pathname may be needed
165 #endif 164 #endif
166 struct dirent ent_buf; 165 struct dirent ent_buf;
167 struct dirent* ent; 166 struct dirent* ent;
168 while (readdir_r(dir, &ent_buf, &ent) == 0 && ent) { 167 while (readdir_r(dir, &ent_buf, &ent) == 0 && ent) {
169 if ((strcmp(ent->d_name, ".") == 0) || 168 if ((strcmp(ent->d_name, ".") == 0) ||
170 (strcmp(ent->d_name, "..") == 0)) 169 (strcmp(ent->d_name, "..") == 0))
171 continue; 170 continue;
172 171
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 return base::Time::FromTimeT(find_info.stat.st_mtime); 793 return base::Time::FromTimeT(find_info.stat.st_mtime);
795 } 794 }
796 795
797 bool FileEnumerator::ReadDirectory(std::vector<DirectoryEntryInfo>* entries, 796 bool FileEnumerator::ReadDirectory(std::vector<DirectoryEntryInfo>* entries,
798 const FilePath& source, bool show_links) { 797 const FilePath& source, bool show_links) {
799 base::ThreadRestrictions::AssertIOAllowed(); 798 base::ThreadRestrictions::AssertIOAllowed();
800 DIR* dir = opendir(source.value().c_str()); 799 DIR* dir = opendir(source.value().c_str());
801 if (!dir) 800 if (!dir)
802 return false; 801 return false;
803 802
804 #if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD) && \ 803 #if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_BSD) && \
805 !defined(OS_OPENBSD) && !defined(OS_SOLARIS) && !defined(OS_ANDROID) 804 !defined(OS_SOLARIS) && !defined(OS_ANDROID)
806 #error Port warning: depending on the definition of struct dirent, \ 805 #error Port warning: depending on the definition of struct dirent, \
807 additional space for pathname may be needed 806 additional space for pathname may be needed
808 #endif 807 #endif
809 808
810 struct dirent dent_buf; 809 struct dirent dent_buf;
811 struct dirent* dent; 810 struct dirent* dent;
812 while (readdir_r(dir, &dent_buf, &dent) == 0 && dent) { 811 while (readdir_r(dir, &dent_buf, &dent) == 0 && dent) {
813 DirectoryEntryInfo info; 812 DirectoryEntryInfo info;
814 info.filename = FilePath(dent->d_name); 813 info.filename = FilePath(dent->d_name);
815 814
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 1056
1058 allowed_group_ids.insert(group_record->gr_gid); 1057 allowed_group_ids.insert(group_record->gr_gid);
1059 } 1058 }
1060 1059
1061 return VerifyPathControlledByUser( 1060 return VerifyPathControlledByUser(
1062 kFileSystemRoot, path, kRootUid, allowed_group_ids); 1061 kFileSystemRoot, path, kRootUid, allowed_group_ids);
1063 } 1062 }
1064 #endif // defined(OS_MACOSX) 1063 #endif // defined(OS_MACOSX)
1065 1064
1066 } // namespace file_util 1065 } // namespace file_util
OLDNEW
« no previous file with comments | « base/debug/debugger_posix.cc ('k') | base/platform_file_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698