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

Reply via email to