eliminate an extraneous use of SmallVector in a case where
authorChris Lattner <sabre@nondot.org>
Wed, 16 Dec 2009 08:35:54 +0000 (08:35 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 16 Dec 2009 08:35:54 +0000 (08:35 +0000)
a fixed size buffer is perfectly fine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91527 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Unix/Path.inc

index 33b26f7e84254e5188c2f941b60a4ccfa4b92c7e..b544bd8ec3c5ef5ffe8a7af03134e37952545ce2 100644 (file)
@@ -414,21 +414,19 @@ Path::getSuffix() const {
     return path.substr(dot + 1);
 }
 
-bool Path::getMagicNumber(std::stringMagic, 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;
 }