Prefer StringRef::startswith to the strncmp/strlen contraption.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 4 Oct 2012 10:06:38 +0000 (10:06 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 4 Oct 2012 10:06:38 +0000 (10:06 +0000)
This may be slightly more efficient and is definitely more readable.

llvm-svn: 165217

clang/lib/Driver/OptTable.cpp

index 257f353..e108106 100644 (file)
@@ -159,10 +159,11 @@ Arg *OptTable::ParseOneArg(const ArgList &Args, unsigned &Index) const {
   // FIXME: This is searching much more than necessary, but I am
   // blanking on the simplest way to make it fast. We can solve this
   // problem when we move to TableGen.
+  StringRef StrRef(Str);
   for (; Start != End; ++Start) {
     // Scan for first option which is a proper prefix.
     for (; Start != End; ++Start)
-      if (strncmp(Str, Start->Name, strlen(Start->Name)) == 0)
+      if (StrRef.startswith(Start->Name))
         break;
     if (Start == End)
       break;