Update win32 for Path::getStatusInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29401 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-07-28 22:32:09 +00:00
parent 0c33231eff
commit 7dea1019c1

View File

@ -333,11 +333,12 @@ Path::getLast() const {
return path.substr(pos+1);
}
void
Path::getStatusInfo(StatusInfo& info) const {
bool
Path::getStatusInfo(FileStatus &info, std::string *ErrStr) const {
WIN32_FILE_ATTRIBUTE_DATA fi;
if (!GetFileAttributesEx(path.c_str(), GetFileExInfoStandard, &fi))
ThrowError("getStatusInfo():" + std::string(path) + ": Can't get status: ");
return GetError("getStatusInfo():" + std::string(path) +
": Can't get status: ", ErrStr);
info.fileSize = fi.nFileSizeHigh;
info.fileSize <<= sizeof(fi.nFileSizeHigh)*8;
@ -351,6 +352,7 @@ Path::getStatusInfo(StatusInfo& info) const {
info.modTime.fromWin32Time(ft);
info.isDir = fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
return false;
}
static bool AddPermissionBits(const std::string& Filename, int bits) {
@ -691,7 +693,7 @@ Path::renamePathOnDisk(const Path& newName) {
}
bool
Path::setStatusInfoOnDisk(const StatusInfo& si) const {
Path::setStatusInfoOnDisk(const FileStatus &si) const {
// FIXME: should work on directories also.
if (!isFile()) return false;