Hui added inline comments.
================ Comment at: include/lldb/Utility/Args.h:121 + bool GetFlattenWindowsCommandString(std::string &command) const; + ---------------- labath wrote: > I am sorry for being such a pain, but I don't think this is grammatically > correct, as `get` and `flatten` are both verbs. I'd call this either > GetFlatten**ed**WindowsCommandLine or just plain FlattenWindowsCommandLine. There are two kinds of sources of args in this discussion: - from lldb console through stdin which is not raw. - from LLDB_SERVER_LOG_FILE environment variables which are raw We expect to call a GetFlattenedWindowsCommandString for raw input. However it seems not the case for now. What about adding a TODO in the following in ProcessWindowsLauncher. Would like a solution to proceed. + +bool GetFlattenedWindowsCommandString(Args args, std::string &command) { + if (args.empty()) + return false; + + std::vector<llvm::StringRef> args_ref; + for (auto &entry : args.entries()) + args_ref.push_back(entry.ref); + + // TODO: only flatten raw input. + // Inputs from lldb console through the stdin are not raw, for example, + // A command line like "dir c:\" is attained as "dir c":\\". Trying to flatten such + // input will result in unexpected errors. In this case, the flattend string will be + // interpreted as "dir c:\\ which is a wrong usage of `dir` command. + + command = llvm::sys::flattenWindowsCommandLine(args_ref); + return true; } +} // namespace CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56230/new/ https://reviews.llvm.org/D56230 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits