From: Mehdi Amini Date: Sat, 8 Oct 2016 01:38:43 +0000 (+0000) Subject: Use StringRef in Command::printArg() instead of raw pointer (NFC) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45a9c7a81e1484a6028ad4dd29cd0be69f9a37e8;p=clang Use StringRef in Command::printArg() instead of raw pointer (NFC) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283645 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Job.h b/include/clang/Driver/Job.h index 3366fc48d7..35758d8340 100644 --- a/include/clang/Driver/Job.h +++ b/include/clang/Driver/Job.h @@ -116,7 +116,7 @@ public: const llvm::opt::ArgStringList &getArguments() const { return Arguments; } /// Print a command argument, and optionally quote it. - static void printArg(llvm::raw_ostream &OS, const char *Arg, bool Quote); + static void printArg(llvm::raw_ostream &OS, StringRef Arg, bool Quote); }; /// Like Command, but with a fallback which is executed in case diff --git a/lib/Driver/Job.cpp b/lib/Driver/Job.cpp index 8d5e302ae6..97aaf3e703 100644 --- a/lib/Driver/Job.cpp +++ b/lib/Driver/Job.cpp @@ -80,8 +80,8 @@ static int skipArgs(const char *Flag, bool HaveCrashVFS) { return 0; } -void Command::printArg(raw_ostream &OS, const char *Arg, bool Quote) { - const bool Escape = std::strpbrk(Arg, "\"\\$"); +void Command::printArg(raw_ostream &OS, StringRef Arg, bool Quote) { + const bool Escape = Arg.find_first_of("\"\\$") != StringRef::npos; if (!Quote && !Escape) { OS << Arg; @@ -90,7 +90,7 @@ void Command::printArg(raw_ostream &OS, const char *Arg, bool Quote) { // Quote and escape. This isn't really complete, but good enough. OS << '"'; - while (const char c = *Arg++) { + for (const char c : Arg) { if (c == '"' || c == '\\' || c == '$') OS << '\\'; OS << c;