Simplify code.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 4 Nov 2011 13:52:17 +0000 (13:52 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 4 Nov 2011 13:52:17 +0000 (13:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143695 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Object/Archive.cpp

index a1bd8b6c923a06ae417777aa32ccfda96872f829..8bdab16c04d085eeb16d27c27b96b20a9439f2e7 100644 (file)
@@ -242,10 +242,9 @@ error_code Archive::Symbol::getMember(child_iterator &Result) const {
 
 Archive::Symbol Archive::Symbol::getNext() const {
   Symbol t(*this);
-  const char *buf = Parent->SymbolTable->getBuffer()->getBufferStart();
-  buf += t.StringIndex;
-  while (*buf++); // Go to one past next null.
-  t.StringIndex = buf - Parent->SymbolTable->getBuffer()->getBufferStart();
+  // Go to one past next null.
+  t.StringIndex =
+    Parent->SymbolTable->getBuffer()->getBuffer().find('\0', t.StringIndex) + 1;
   ++t.SymbolIndex;
   return t;
 }