summaryrefslogtreecommitdiff
path: root/indra/llcommon/llprocess.h
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-01-23 17:38:06 -0500
committerNat Goodspeed <nat@lindenlab.com>2012-01-23 17:38:06 -0500
commit61e98256df80822f9504a2037d5cbb029c39506d (patch)
treea5c4acd18962fa9cd1155c87198beaf48181dbb2 /indra/llcommon/llprocess.h
parentda5d243c8f76f43a6bb4000402fade76eee0be33 (diff)
Clarify that items in LLProcess::Params::args are implicitly quoted.
That is, we try to pass through each args entry as a separate child-process arvg[] entry, whitespace and all.
Diffstat (limited to 'indra/llcommon/llprocess.h')
-rw-r--r--indra/llcommon/llprocess.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/llcommon/llprocess.h b/indra/llcommon/llprocess.h
index 019c33592c..51c42582ea 100644
--- a/indra/llcommon/llprocess.h
+++ b/indra/llcommon/llprocess.h
@@ -63,7 +63,16 @@ public:
/// pathname of executable
Mandatory<std::string> executable;
- /// zero or more additional command-line arguments
+ /**
+ * zero or more additional command-line arguments. Arguments are
+ * passed through as exactly as we can manage, whitespace and all.
+ * @note On Windows we manage this by implicitly double-quoting each
+ * argument while assembling the command line. BUT if a given argument
+ * is already double-quoted, we don't double-quote it again. Try to
+ * avoid making use of this, though, as on Mac and Linux explicitly
+ * double-quoted args will be passed to the child process including
+ * the double quotes.
+ */
Multiple<std::string> args;
/// current working directory, if need it changed
Optional<std::string> cwd;