]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Reject arguments with leading =.
authorEric Blake <ebb9@byu.net>
Tue, 4 Nov 2008 15:20:00 +0000 (08:20 -0700)
committerEric Blake <ebb9@byu.net>
Tue, 4 Nov 2008 15:20:00 +0000 (08:20 -0700)
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Detect case of
missing variable name, with fewer forks.  Quote invalid arguments
in message, in case they include spaces.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS)
(_AC_OUTPUT_MAIN_LOOP): Quote invalid arguments.
* lib/autotest/general.m4 (AT_INIT): Likewise.
Reported by Jeff Squyres.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/autoconf/general.m4
lib/autoconf/status.m4
lib/autotest/general.m4

index 269eee594b9679b441453e31ee77758482b525e8..f54b4531929d484ad4ea9ae912e3760f8a37edcc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-11-04  Eric Blake  <ebb9@byu.net>
+
+       Reject arguments with leading =.
+       * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Detect case of
+       missing variable name, with fewer forks.  Quote invalid arguments
+       in message, in case they include spaces.
+       * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS)
+       (_AC_OUTPUT_MAIN_LOOP): Quote invalid arguments.
+       * lib/autotest/general.m4 (AT_INIT): Likewise.
+       Reported by Jeff Squyres.
+
 2008-11-04  Eric Blake  <ebb9@byu.net>
 
        Upgrade to FDL 1.3.
index 834c4b99c371fdd24d01b6a60156f3e929677451..de4de3396a935b4476a19a556e705175a52d81fd 100644 (file)
@@ -883,15 +883,17 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) AC_MSG_ERROR([unrecognized option: $ac_option
+  -*) AC_MSG_ERROR([unrecognized option: `$ac_option'
 Try `$[0] --help' for more information.])
     ;;
 
   *=*)
     ac_envvar=`expr "x$ac_option" : 'x\([[^=]]*\)='`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : "[.*[^_$as_cr_alnum]]" >/dev/null &&
-      AC_MSG_ERROR([invalid variable name: $ac_envvar])
+    case $ac_envvar in #(
+      '' | [[0-9]]* | *[[!_$as_cr_alnum]]* )
+      AC_MSG_ERROR([invalid variable name: `$ac_envvar']) ;;
+    esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
index 9ee4b2ac04260db05caaebb9507677189020246a..2f6276a713619c49344e6b0fcb3d89b5a725afba 100644 (file)
@@ -1494,7 +1494,7 @@ m4_ifdef([_AC_SEEN_CONFIG(HEADERS)], [dnl
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    AC_MSG_ERROR([ambiguous option: $[1]
+    AC_MSG_ERROR([ambiguous option: `$[1]'
 Try `$[0] --help' for more information.]);;
 ], [  --he | --h |])dnl
   --help | --hel | -h )
@@ -1504,7 +1504,7 @@ Try `$[0] --help' for more information.]);;
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) AC_MSG_ERROR([unrecognized option: $[1]
+  -*) AC_MSG_ERROR([unrecognized option: `$[1]'
 Try `$[0] --help' for more information.]) ;;
 
   *) AS_VAR_APPEND([ac_config_targets], [" $[1]"])
@@ -1562,7 +1562,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
 m4_ifdef([_AC_LIST_TAGS], [_AC_LIST_TAGS])
-  *) AC_MSG_ERROR([invalid argument: $ac_config_target]);;
+  *) AC_MSG_ERROR([invalid argument: `$ac_config_target']);;
   esac
 done
 
@@ -1635,7 +1635,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[[FHL]]*:*);;
-  :L* | :C*:*) AC_MSG_ERROR([invalid tag $ac_tag]);;
+  :L* | :C*:*) AC_MSG_ERROR([invalid tag `$ac_tag']);;
   :[[FH]]-) ac_tag=-:-;;
   :[[FH]]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -1663,7 +1663,7 @@ do
           [[\\/$]]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
-          AC_MSG_ERROR([cannot find input file: $ac_f]);;
+          AC_MSG_ERROR([cannot find input file: `$ac_f']);;
       esac
       case $ac_f in *\'*) ac_f=`AS_ECHO(["$ac_f"]) | sed "s/'/'\\\\\\\\''/g"`;; esac
       AS_VAR_APPEND([ac_file_inputs], [" '$ac_f'"])
index 68f75d879b866f7a8900facbd00ea1e5145ac417..d9e70892cb3e207c2c662e30458bcd3bcc7a2f75 100644 (file)
@@ -596,7 +596,7 @@ m4_divert_push([PARSE_ARGS_END])dnl
        # Reject names that are not valid shell variable names.
        case $at_envvar in
          '' | [[0-9]]* | *[[!_$as_cr_alnum]]* )
-           AS_ERROR([invalid variable name: $at_envvar]) ;;
+           AS_ERROR([invalid variable name: `$at_envvar']) ;;
        esac
        at_value=`AS_ECHO(["$at_optarg"]) | sed "s/'/'\\\\\\\\''/g"`
        # Export now, but save eval for later and for debug scripts.
@@ -947,7 +947,7 @@ m4_divert_push([TESTS])dnl
 # Create the master directory if it doesn't already exist.
 test -d "$at_suite_dir" ||
   mkdir "$at_suite_dir" ||
-  AS_ERROR([cannot create '$at_suite_dir'])
+  AS_ERROR([cannot create `$at_suite_dir'])
 
 # Can we diff with `/dev/null'?  DU 5.0 refuses.
 if diff /dev/null /dev/null >/dev/null 2>&1; then