Index: base/file_util_win.cc |
diff --git a/base/file_util_win.cc b/base/file_util_win.cc |
index 964302adce55b0cafab153460614e5bc2a81a1f3..47c59cf344f92f00bc39edbb15fbb308aa497c97 100644 |
--- a/base/file_util_win.cc |
+++ b/base/file_util_win.cc |
@@ -148,7 +148,9 @@ bool MoveUnsafe(const FilePath& from_path, const FilePath& to_path) { |
return ret; |
} |
-bool ReplaceFile(const FilePath& from_path, const FilePath& to_path) { |
+bool ReplaceFileAndGetError(const FilePath& from_path, |
+ const FilePath& to_path, |
+ base::PlatformFileError* error) { |
base::ThreadRestrictions::AssertIOAllowed(); |
// Try a simple move first. It will only succeed when |to_path| doesn't |
// already exist. |
@@ -162,6 +164,8 @@ bool ReplaceFile(const FilePath& from_path, const FilePath& to_path) { |
REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL)) { |
return true; |
} |
+ if (error) |
+ *error = base::LastErrorToPlatformFileError(GetLastError()); |
return false; |
} |