From: Reid Spencer Date: Thu, 29 Mar 2007 19:11:22 +0000 (+0000) Subject: Use the stat information in the Path object, if it is already obtained. This X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1ea733db9d7eb1e55785e9b2201638c37db56cad;p=oota-llvm.git Use the stat information in the Path object, if it is already obtained. This avoids a call to ::fstat by MappedFile when the file size information was already obtained by the Path object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35477 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/System/Unix/MappedFile.inc b/lib/System/Unix/MappedFile.inc index 4dccd138c1e..5e76e2bc26a 100644 --- a/lib/System/Unix/MappedFile.inc +++ b/lib/System/Unix/MappedFile.inc @@ -54,15 +54,14 @@ bool MappedFile::initialize(std::string* ErrMsg) { MakeErrMsg(ErrMsg, "can't open file '" + path_.toString() + "'"); return true; } - struct stat sbuf; - if(::fstat(FD, &sbuf) < 0) { - MakeErrMsg(ErrMsg, "can't stat file '"+ path_.toString() + "'"); + const FileStatus *Status = path_.getFileStatus(false, ErrMsg); + if (!Status) { ::close(FD); return true; } info_ = new MappedFileInfo; info_->FD = FD; - info_->Size = sbuf.st_size; + info_->Size = Status->getSize(); return false; }