strnlen isn't available on some platforms, use StringRef instead
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 20 Dec 2014 08:24:43 +0000 (08:24 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 20 Dec 2014 08:24:43 +0000 (08:24 +0000)
llvm-svn: 224679

llvm/tools/llvm-objdump/MachODump.cpp

index 9f5216b..75ad4aa 100644 (file)
@@ -3664,7 +3664,8 @@ static void PrintLinkerOptionCommand(MachO::linker_option_command lo,
     if (left > 0) {
       i++;
       outs() << "  string #" << i << " " << format("%.*s\n", left, string);
-      uint32_t len = strnlen(string, left) + 1;
+      uint32_t NullPos = StringRef(string, left).find('\0');
+      uint32_t len = std::min(NullPos, left) + 1;
       string += len;
       left -= len;
     }