changeset 12743:3d337755e12c

gnulib-tool: fix filelist for AIX, HP-UX ksh. * gnulib-tool (func_filter_filelist): Do not quote possibly-empty variables in shell case patterns, for AIX and HP-UX ksh. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
author Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
date Sun, 17 Jan 2010 01:07:00 +0100
parents eb23650d64e1
children 1374274c02f7
files ChangeLog gnulib-tool
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
+	gnulib-tool: fix filelist for AIX, HP-UX ksh.
+	* gnulib-tool (func_filter_filelist): Do not quote possibly-empty
+	variables in shell case patterns, for AIX and HP-UX ksh.
+
 	Split large sed scripts, for HP-UX sed.
 	* modules/stdio: Split sed scripts around 50 sed commands,
 	to avoid HP-UX limit of 99 commands, in the near future.
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -1428,6 +1428,7 @@
 # elements starting with prefix and ending with suffix are considered.
 # Processing: removed_prefix and removed_suffix are removed from each element,
 # added_prefix and added_suffix are added to each element.
+# prefix, suffix should not contain shell-special characters.
 # removed_prefix, removed_suffix should not contain the characters "$`\{}[]^|.
 # added_prefix, added_suffix should not contain the characters \|&.
 func_filter_filelist ()
@@ -1439,8 +1440,10 @@
         }; then
     ffflist=
     for fff in $3; do
+      # Do not quote possibly-empty parameters in case patterns,
+      # AIX and HP-UX ksh won't match them if they are empty.
       case "$fff" in
-        "$4"*"$5")
+        $4*$5)
           if test -n "$6"; then
             func_remove_prefix fff "$6"
           fi
@@ -1460,7 +1463,7 @@
     sed_fff_filter="s|^$6\(.*\)$7\$|$8\\1$9|"
     ffflist=`for fff in $3; do
                case "$fff" in
-                 "$4"*"$5") echo "$fff" ;;
+                 $4*$5) echo "$fff" ;;
                esac
              done | sed -e "$sed_fff_filter"`
   fi