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

Side by Side Diff: base/file_util_win.cc

Issue 8368009: Replace most LOG statements with DLOG statements in base. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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_posix.cc ('k') | base/files/file_path_watcher_mac.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 <windows.h> 7 #include <windows.h>
8 #include <propvarutil.h> 8 #include <propvarutil.h>
9 #include <psapi.h> 9 #include <psapi.h>
10 #include <shellapi.h> 10 #include <shellapi.h>
(...skipping 26 matching lines...) Expand all
37 37
38 // Helper for NormalizeFilePath(), defined below. 38 // Helper for NormalizeFilePath(), defined below.
39 bool DevicePathToDriveLetterPath(const FilePath& device_path, 39 bool DevicePathToDriveLetterPath(const FilePath& device_path,
40 FilePath* drive_letter_path) { 40 FilePath* drive_letter_path) {
41 base::ThreadRestrictions::AssertIOAllowed(); 41 base::ThreadRestrictions::AssertIOAllowed();
42 42
43 // Get the mapping of drive letters to device paths. 43 // Get the mapping of drive letters to device paths.
44 const int kDriveMappingSize = 1024; 44 const int kDriveMappingSize = 1024;
45 wchar_t drive_mapping[kDriveMappingSize] = {'\0'}; 45 wchar_t drive_mapping[kDriveMappingSize] = {'\0'};
46 if (!::GetLogicalDriveStrings(kDriveMappingSize - 1, drive_mapping)) { 46 if (!::GetLogicalDriveStrings(kDriveMappingSize - 1, drive_mapping)) {
47 LOG(ERROR) << "Failed to get drive mapping."; 47 DLOG(ERROR) << "Failed to get drive mapping.";
48 return false; 48 return false;
49 } 49 }
50 50
51 // The drive mapping is a sequence of null terminated strings. 51 // The drive mapping is a sequence of null terminated strings.
52 // The last string is empty. 52 // The last string is empty.
53 wchar_t* drive_map_ptr = drive_mapping; 53 wchar_t* drive_map_ptr = drive_mapping;
54 wchar_t device_name[MAX_PATH]; 54 wchar_t device_name[MAX_PATH];
55 wchar_t drive[] = L" :"; 55 wchar_t drive[] = L" :";
56 56
57 // For each string in the drive mapping, get the junction that links 57 // For each string in the drive mapping, get the junction that links
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 return OpenFile(*path, "wb+"); 596 return OpenFile(*path, "wb+");
597 } 597 }
598 598
599 bool CreateTemporaryFileInDir(const FilePath& dir, 599 bool CreateTemporaryFileInDir(const FilePath& dir,
600 FilePath* temp_file) { 600 FilePath* temp_file) {
601 base::ThreadRestrictions::AssertIOAllowed(); 601 base::ThreadRestrictions::AssertIOAllowed();
602 602
603 wchar_t temp_name[MAX_PATH + 1]; 603 wchar_t temp_name[MAX_PATH + 1];
604 604
605 if (!GetTempFileName(dir.value().c_str(), L"", 0, temp_name)) { 605 if (!GetTempFileName(dir.value().c_str(), L"", 0, temp_name)) {
606 PLOG(WARNING) << "Failed to get temporary file name in " << dir.value(); 606 DPLOG(WARNING) << "Failed to get temporary file name in " << dir.value();
607 return false; 607 return false;
608 } 608 }
609 609
610 DWORD path_len = GetLongPathName(temp_name, temp_name, MAX_PATH); 610 DWORD path_len = GetLongPathName(temp_name, temp_name, MAX_PATH);
611 if (path_len > MAX_PATH + 1 || path_len == 0) { 611 if (path_len > MAX_PATH + 1 || path_len == 0) {
612 PLOG(WARNING) << "Failed to get long path name for " << temp_name; 612 DPLOG(WARNING) << "Failed to get long path name for " << temp_name;
613 return false; 613 return false;
614 } 614 }
615 615
616 std::wstring temp_file_str; 616 std::wstring temp_file_str;
617 temp_file_str.assign(temp_name, path_len); 617 temp_file_str.assign(temp_name, path_len);
618 *temp_file = FilePath(temp_file_str); 618 *temp_file = FilePath(temp_file_str);
619 return true; 619 return true;
620 } 620 }
621 621
622 bool CreateTemporaryDirInDir(const FilePath& base_dir, 622 bool CreateTemporaryDirInDir(const FilePath& base_dir,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 660
661 // If the path exists, we've succeeded if it's a directory, failed otherwise. 661 // If the path exists, we've succeeded if it's a directory, failed otherwise.
662 const wchar_t* full_path_str = full_path.value().c_str(); 662 const wchar_t* full_path_str = full_path.value().c_str();
663 DWORD fileattr = ::GetFileAttributes(full_path_str); 663 DWORD fileattr = ::GetFileAttributes(full_path_str);
664 if (fileattr != INVALID_FILE_ATTRIBUTES) { 664 if (fileattr != INVALID_FILE_ATTRIBUTES) {
665 if ((fileattr & FILE_ATTRIBUTE_DIRECTORY) != 0) { 665 if ((fileattr & FILE_ATTRIBUTE_DIRECTORY) != 0) {
666 DVLOG(1) << "CreateDirectory(" << full_path_str << "), " 666 DVLOG(1) << "CreateDirectory(" << full_path_str << "), "
667 << "directory already exists."; 667 << "directory already exists.";
668 return true; 668 return true;
669 } 669 }
670 LOG(WARNING) << "CreateDirectory(" << full_path_str << "), " 670 DLOG(WARNING) << "CreateDirectory(" << full_path_str << "), "
671 << "conflicts with existing file."; 671 << "conflicts with existing file.";
672 return false; 672 return false;
673 } 673 }
674 674
675 // Invariant: Path does not exist as file or directory. 675 // Invariant: Path does not exist as file or directory.
676 676
677 // Attempt to create the parent recursively. This will immediately return 677 // Attempt to create the parent recursively. This will immediately return
678 // true if it already exists, otherwise will create all required parent 678 // true if it already exists, otherwise will create all required parent
679 // directories starting with the highest-level missing parent. 679 // directories starting with the highest-level missing parent.
680 FilePath parent_path(full_path.DirName()); 680 FilePath parent_path(full_path.DirName());
681 if (parent_path.value() == full_path.value()) { 681 if (parent_path.value() == full_path.value()) {
682 return false; 682 return false;
683 } 683 }
684 if (!CreateDirectory(parent_path)) { 684 if (!CreateDirectory(parent_path)) {
685 DLOG(WARNING) << "Failed to create one of the parent directories."; 685 DLOG(WARNING) << "Failed to create one of the parent directories.";
686 return false; 686 return false;
687 } 687 }
688 688
689 if (!::CreateDirectory(full_path_str, NULL)) { 689 if (!::CreateDirectory(full_path_str, NULL)) {
690 DWORD error_code = ::GetLastError(); 690 DWORD error_code = ::GetLastError();
691 if (error_code == ERROR_ALREADY_EXISTS && DirectoryExists(full_path)) { 691 if (error_code == ERROR_ALREADY_EXISTS && DirectoryExists(full_path)) {
692 // This error code ERROR_ALREADY_EXISTS doesn't indicate whether we 692 // This error code ERROR_ALREADY_EXISTS doesn't indicate whether we
693 // were racing with someone creating the same directory, or a file 693 // were racing with someone creating the same directory, or a file
694 // with the same path. If DirectoryExists() returns true, we lost the 694 // with the same path. If DirectoryExists() returns true, we lost the
695 // race to create the same directory. 695 // race to create the same directory.
696 return true; 696 return true;
697 } else { 697 } else {
698 LOG(WARNING) << "Failed to create directory " << full_path_str 698 DLOG(WARNING) << "Failed to create directory " << full_path_str
699 << ", last error is " << error_code << "."; 699 << ", last error is " << error_code << ".";
700 return false; 700 return false;
701 } 701 }
702 } else { 702 } else {
703 return true; 703 return true;
704 } 704 }
705 } 705 }
706 706
707 // TODO(rkc): Work out if we want to handle NTFS junctions here or not, handle 707 // TODO(rkc): Work out if we want to handle NTFS junctions here or not, handle
708 // them if we do decide to. 708 // them if we do decide to.
709 bool IsLink(const FilePath& file_path) { 709 bool IsLink(const FilePath& file_path) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 int WriteFile(const FilePath& filename, const char* data, int size) { 766 int WriteFile(const FilePath& filename, const char* data, int size) {
767 base::ThreadRestrictions::AssertIOAllowed(); 767 base::ThreadRestrictions::AssertIOAllowed();
768 base::win::ScopedHandle file(CreateFile(filename.value().c_str(), 768 base::win::ScopedHandle file(CreateFile(filename.value().c_str(),
769 GENERIC_WRITE, 769 GENERIC_WRITE,
770 0, 770 0,
771 NULL, 771 NULL,
772 CREATE_ALWAYS, 772 CREATE_ALWAYS,
773 0, 773 0,
774 NULL)); 774 NULL));
775 if (!file) { 775 if (!file) {
776 LOG(WARNING) << "CreateFile failed for path " << filename.value() 776 DLOG(WARNING) << "CreateFile failed for path " << filename.value()
777 << " error code=" << GetLastError(); 777 << " error code=" << GetLastError();
778 return -1; 778 return -1;
779 } 779 }
780 780
781 DWORD written; 781 DWORD written;
782 BOOL result = ::WriteFile(file, data, size, &written, NULL); 782 BOOL result = ::WriteFile(file, data, size, &written, NULL);
783 if (result && static_cast<int>(written) == size) 783 if (result && static_cast<int>(written) == size)
784 return written; 784 return written;
785 785
786 if (!result) { 786 if (!result) {
787 // WriteFile failed. 787 // WriteFile failed.
788 LOG(WARNING) << "writing file " << filename.value() 788 DLOG(WARNING) << "writing file " << filename.value()
789 << " failed, error code=" << GetLastError(); 789 << " failed, error code=" << GetLastError();
790 } else { 790 } else {
791 // Didn't write all the bytes. 791 // Didn't write all the bytes.
792 LOG(WARNING) << "wrote" << written << " bytes to " << 792 DLOG(WARNING) << "wrote" << written << " bytes to "
793 filename.value() << " expected " << size; 793 << filename.value() << " expected " << size;
794 } 794 }
795 return -1; 795 return -1;
796 } 796 }
797 797
798 // Gets the current working directory for the process. 798 // Gets the current working directory for the process.
799 bool GetCurrentDirectory(FilePath* dir) { 799 bool GetCurrentDirectory(FilePath* dir) {
800 base::ThreadRestrictions::AssertIOAllowed(); 800 base::ThreadRestrictions::AssertIOAllowed();
801 801
802 wchar_t system_buffer[MAX_PATH]; 802 wchar_t system_buffer[MAX_PATH];
803 system_buffer[0] = 0; 803 system_buffer[0] = 0;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 } 960 }
961 961
962 bool MemoryMappedFile::InitializeAsImageSection(const FilePath& file_name) { 962 bool MemoryMappedFile::InitializeAsImageSection(const FilePath& file_name) {
963 if (IsValid()) 963 if (IsValid())
964 return false; 964 return false;
965 file_ = base::CreatePlatformFile( 965 file_ = base::CreatePlatformFile(
966 file_name, base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ, 966 file_name, base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ,
967 NULL, NULL); 967 NULL, NULL);
968 968
969 if (file_ == base::kInvalidPlatformFileValue) { 969 if (file_ == base::kInvalidPlatformFileValue) {
970 LOG(ERROR) << "Couldn't open " << file_name.value(); 970 DLOG(ERROR) << "Couldn't open " << file_name.value();
971 return false; 971 return false;
972 } 972 }
973 973
974 if (!MapFileToMemoryInternalEx(SEC_IMAGE)) { 974 if (!MapFileToMemoryInternalEx(SEC_IMAGE)) {
975 CloseHandles(); 975 CloseHandles();
976 return false; 976 return false;
977 } 977 }
978 978
979 return true; 979 return true;
980 } 980 }
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
1160 uint8 unused = *(touch + offset); 1160 uint8 unused = *(touch + offset);
1161 offset += step_size; 1161 offset += step_size;
1162 } 1162 }
1163 FreeLibrary(dll_module); 1163 FreeLibrary(dll_module);
1164 } 1164 }
1165 1165
1166 return true; 1166 return true;
1167 } 1167 }
1168 1168
1169 } // namespace file_util 1169 } // namespace file_util
OLDNEW
« no previous file with comments | « base/file_util_posix.cc ('k') | base/files/file_path_watcher_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698