diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-10 17:16:40 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-10 17:16:40 +0000 |
commit | 4d08d8bada101a06ba2348492dfa8085f08c2736 (patch) | |
tree | be5c4c89ea82bc304724947db8658e062d999c85 /llvm/lib/Support/Unix | |
parent | d3f6fe51ab4f2886ab90be592d8826736b2a9094 (diff) | |
download | bcm5719-llvm-4d08d8bada101a06ba2348492dfa8085f08c2736.tar.gz bcm5719-llvm-4d08d8bada101a06ba2348492dfa8085f08c2736.zip |
Use status to implement file_size.
The status function is already using a syscall that returns the file size.
Remember it and implement file_size as a simple wrapper.
No functionally change, but clients that already use status now can avoid
calling file_size.
llvm-svn: 186016
Diffstat (limited to 'llvm/lib/Support/Unix')
-rw-r--r-- | llvm/lib/Support/Unix/Path.inc | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc index 433d187ffda..83879ff68d1 100644 --- a/llvm/lib/Support/Unix/Path.inc +++ b/llvm/lib/Support/Unix/Path.inc @@ -529,20 +529,6 @@ error_code equivalent(const Twine &A, const Twine &B, bool &result) { return error_code::success(); } -error_code file_size(const Twine &path, uint64_t &result) { - SmallString<128> path_storage; - StringRef p = path.toNullTerminatedStringRef(path_storage); - - struct stat status; - if (::stat(p.begin(), &status) == -1) - return error_code(errno, system_category()); - if (!S_ISREG(status.st_mode)) - return make_error_code(errc::operation_not_permitted); - - result = status.st_size; - return error_code::success(); -} - error_code getUniqueID(const Twine Path, uint64_t &Result) { SmallString<128> Storage; StringRef P = Path.toNullTerminatedStringRef(Storage); @@ -591,6 +577,7 @@ error_code status(const Twine &path, file_status &result) { result.fs_st_mtime = status.st_mtime; result.fs_st_uid = status.st_uid; result.fs_st_gid = status.st_gid; + result.fs_st_size = status.st_size; return error_code::success(); } |