forked from OSchip/llvm-project
Remove last use of PathV1.h from Archive.cpp.
llvm-svn: 184484
This commit is contained in:
parent
1332988f5a
commit
e34d6a5fac
|
@ -153,6 +153,8 @@ class file_status
|
|||
dev_t fs_st_dev;
|
||||
ino_t fs_st_ino;
|
||||
time_t fs_st_mtime;
|
||||
uid_t fs_st_uid;
|
||||
gid_t fs_st_gid;
|
||||
#elif defined (LLVM_ON_WIN32)
|
||||
uint32_t LastWriteTimeHigh;
|
||||
uint32_t LastWriteTimeLow;
|
||||
|
@ -177,6 +179,18 @@ public:
|
|||
perms permissions() const { return Perms; }
|
||||
TimeValue getLastModificationTime() const;
|
||||
|
||||
#if defined(LLVM_ON_UNIX)
|
||||
uint32_t getUser() const { return fs_st_uid; }
|
||||
uint32_t getGroup() const { return fs_st_gid; }
|
||||
#elif defined (LLVM_ON_WIN32)
|
||||
uint32_t getUser() const {
|
||||
return 9999; // Not applicable to Windows, so...
|
||||
}
|
||||
uint32_t getGroup() const {
|
||||
return 9999; // Not applicable to Windows, so...
|
||||
}
|
||||
#endif
|
||||
|
||||
// setters
|
||||
void type(file_type v) { Type = v; }
|
||||
void permissions(perms p) { Perms = p; }
|
||||
|
|
|
@ -408,6 +408,8 @@ error_code status(const Twine &path, file_status &result) {
|
|||
result.fs_st_dev = status.st_dev;
|
||||
result.fs_st_ino = status.st_ino;
|
||||
result.fs_st_mtime = status.st_mtime;
|
||||
result.fs_st_uid = status.st_uid;
|
||||
result.fs_st_gid = status.st_gid;
|
||||
|
||||
return error_code::success();
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/Process.h"
|
||||
#include "llvm/Support/system_error.h"
|
||||
#include <cstring>
|
||||
|
@ -109,15 +108,21 @@ bool ArchiveMember::replaceWith(StringRef newFile, std::string* ErrMsg) {
|
|||
if (!signature) {
|
||||
sys::fs::get_magic(path, magic.capacity(), magic);
|
||||
signature = magic.c_str();
|
||||
sys::PathWithStatus PWS(path);
|
||||
const sys::FileStatus *FSinfo = PWS.getFileStatus(false, ErrMsg);
|
||||
if (!FSinfo)
|
||||
|
||||
sys::fs::file_status Status;
|
||||
error_code EC = sys::fs::status(path, Status);
|
||||
if (EC)
|
||||
return true;
|
||||
|
||||
User = Status.getUser();
|
||||
Group = Status.getGroup();
|
||||
Mode = Status.permissions();
|
||||
ModTime = Status.getLastModificationTime();
|
||||
|
||||
// FIXME: On posix this is a second stat.
|
||||
EC = sys::fs::file_size(path, Size);
|
||||
if (EC)
|
||||
return true;
|
||||
User = FSinfo->getUser();
|
||||
Group = FSinfo->getGroup();
|
||||
Mode = FSinfo->getMode();
|
||||
ModTime = FSinfo->getTimestamp();
|
||||
Size = FSinfo->getSize();
|
||||
}
|
||||
|
||||
// Determine what kind of file it is.
|
||||
|
|
Loading…
Reference in New Issue