summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Unix
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-10 17:16:40 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-10 17:16:40 +0000
commit4d08d8bada101a06ba2348492dfa8085f08c2736 (patch)
treebe5c4c89ea82bc304724947db8658e062d999c85 /llvm/lib/Support/Unix
parentd3f6fe51ab4f2886ab90be592d8826736b2a9094 (diff)
downloadbcm5719-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.inc15
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();
}
OpenPOWER on IntegriCloud