changeset 16848:ae444fc80840

sh-quote, system-quote: Add comments about wildcards. * lib/sh-quote.h: Clarify what happens with wildcard characters. * lib/system-quote.h: Likewise. Reported by Eli Zaretskii <eliz@gnu.org>.
author Bruno Haible <bruno@clisp.org>
date Sat, 12 May 2012 11:25:17 +0200
parents 53fb1ea35cc9
children 1aa668619908
files ChangeLog lib/sh-quote.h lib/system-quote.h
diffstat 3 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-05-12  Bruno Haible  <bruno@clisp.org>
+
+	sh-quote, system-quote: Add comments about wildcards.
+	* lib/sh-quote.h: Clarify what happens with wildcard characters.
+	* lib/system-quote.h: Likewise.
+	Reported by Eli Zaretskii <eliz@gnu.org>.
+
 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
 
 	fsusage: check for GNU/Linux statvfs problem dynamically
--- a/lib/sh-quote.h
+++ b/lib/sh-quote.h
@@ -20,7 +20,7 @@
 
 /* When passing a command to a shell, we must quote the program name and
    arguments, since Unix shells interpret characters like " ", "'", "<", ">",
-   "$" etc. in a special way.  */
+   "$", '*', '?' etc. in a special way.  */
 
 #include <stddef.h>
 
--- a/lib/system-quote.h
+++ b/lib/system-quote.h
@@ -20,14 +20,16 @@
 
 /* When passing a command the system's command interpreter, we must quote the
    program name and arguments, since
-     - Unix shells interpret characters like " ", "'", "<", ">", "$" etc. in a
-       special way,
+     - Unix shells interpret characters like " ", "'", "<", ">", "$", '*', '?'
+       etc. in a special way,
      - Windows CreateProcess() interprets characters like ' ', '\t', '\\', '"'
        etc. (but not '<' and '>') in a special way,
      - Windows cmd.exe also interprets characters like '<', '>', '&', '%', etc.
        in a special way.  Note that it is impossible to pass arguments that
        contain newlines or carriage return characters to programs through
-       cmd.exe.  */
+       cmd.exe.
+     - Windows programs usually perform wildcard expansion when they receive
+       arguments that contain unquoted '*', '?' characters.  */
 
 #include <stddef.h>