eliminate an extraneous use of SmallVector in a case where

a fixed size buffer is perfectly fine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91527 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-12-16 08:35:54 +00:00
parent 99ea87a48a
commit e4b0cd2856

View File

@ -414,21 +414,19 @@ Path::getSuffix() const {
return path.substr(dot + 1);
}
bool Path::getMagicNumber(std::string& Magic, unsigned len) const {
bool Path::getMagicNumber(std::string &Magic, unsigned len) const {
assert(len < 1024 && "Request for magic string too long");
SmallVector<char, 128> Buf;
Buf.resize(1 + len);
char* buf = Buf.data();
char Buf[1025];
int fd = ::open(path.c_str(), O_RDONLY);
if (fd < 0)
return false;
ssize_t bytes_read = ::read(fd, buf, len);
ssize_t bytes_read = ::read(fd, Buf, len);
::close(fd);
if (ssize_t(len) != bytes_read) {
Magic.clear();
return false;
}
Magic.assign(buf,len);
Magic.assign(Buf, len);
return true;
}