OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 <fcntl.h> | 7 #include <fcntl.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
| 12 #include "base/file_path.h" |
12 #include "base/logging.h" | 13 #include "base/logging.h" |
13 #include "base/string_util.h" | 14 #include "base/string_util.h" |
14 | 15 |
15 namespace file_util { | 16 namespace file_util { |
16 | 17 |
17 const wchar_t kPathSeparator = L'/'; | 18 const wchar_t kPathSeparator = L'/'; |
18 | 19 |
19 bool GetTempDir(std::wstring* path) { | 20 bool GetTempDir(FilePath* path) { |
20 const char* tmp = getenv("TMPDIR"); | 21 const char* tmp = getenv("TMPDIR"); |
21 if (tmp) | 22 if (tmp) |
22 *path = UTF8ToWide(tmp); | 23 *path = FilePath(tmp); |
23 else | 24 else |
24 *path = L"/tmp"; | 25 *path = FilePath("/tmp"); |
25 return true; | 26 return true; |
26 } | 27 } |
27 | 28 |
28 bool CopyFile(const std::wstring& from_path, const std::wstring& to_path) { | 29 bool CopyFile(const FilePath& from_path, const FilePath& to_path) { |
29 int infile = open(WideToUTF8(from_path).c_str(), O_RDONLY); | 30 int infile = open(from_path.value().c_str(), O_RDONLY); |
30 if (infile < 0) | 31 if (infile < 0) |
31 return false; | 32 return false; |
32 | 33 |
33 int outfile = creat(WideToUTF8(to_path).c_str(), 0666); | 34 int outfile = creat(to_path.value().c_str(), 0666); |
34 if (outfile < 0) { | 35 if (outfile < 0) { |
35 close(infile); | 36 close(infile); |
36 return false; | 37 return false; |
37 } | 38 } |
38 | 39 |
39 const size_t kBufferSize = 32768; | 40 const size_t kBufferSize = 32768; |
40 std::vector<char> buffer(kBufferSize); | 41 std::vector<char> buffer(kBufferSize); |
41 bool result = true; | 42 bool result = true; |
42 | 43 |
43 while (result) { | 44 while (result) { |
(...skipping 21 matching lines...) Expand all Loading... |
65 | 66 |
66 if (close(infile) < 0) | 67 if (close(infile) < 0) |
67 result = false; | 68 result = false; |
68 if (close(outfile) < 0) | 69 if (close(outfile) < 0) |
69 result = false; | 70 result = false; |
70 | 71 |
71 return result; | 72 return result; |
72 } | 73 } |
73 | 74 |
74 } // namespace file_util | 75 } // namespace file_util |
OLD | NEW |