diff options
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/parser.c | 5 | ||||
-rw-r--r-- | src/parser.h | 1 |
4 files changed, 16 insertions, 12 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for dash 0.5.11.4. +# Generated by GNU Autoconf 2.69 for dash 0.5.11.5. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dash' PACKAGE_TARNAME='dash' -PACKAGE_VERSION='0.5.11.4' -PACKAGE_STRING='dash 0.5.11.4' +PACKAGE_VERSION='0.5.11.5' +PACKAGE_STRING='dash 0.5.11.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1281,7 +1281,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dash 0.5.11.4 to adapt to many kinds of systems. +\`configure' configures dash 0.5.11.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1348,7 +1348,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dash 0.5.11.4:";; + short | recursive ) echo "Configuration of dash 0.5.11.5:";; esac cat <<\_ACEOF @@ -1451,7 +1451,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dash configure 0.5.11.4 +dash configure 0.5.11.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2045,7 +2045,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dash $as_me 0.5.11.4, which was +It was created by dash $as_me 0.5.11.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2908,7 +2908,7 @@ fi # Define the identity of the package. PACKAGE='dash' - VERSION='0.5.11.4' + VERSION='0.5.11.5' cat >>confdefs.h <<_ACEOF @@ -5523,7 +5523,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dash $as_me 0.5.11.4, which was +This file was extended by dash $as_me 0.5.11.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5589,7 +5589,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -dash config.status 0.5.11.4 +dash config.status 0.5.11.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index d06b904..2a31251 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([dash],[0.5.11.4]) +AC_INIT([dash],[0.5.11.5]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_CONFIG_SRCDIR([src/main.c]) diff --git a/src/parser.c b/src/parser.c index a47022e..fc9af07 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1262,7 +1262,8 @@ varname: do { STPUTC(c, out); c = pgetc_eatbnl(); - } while (!subtype && is_digit(c)); + } while ((subtype <= 0 || subtype >= VSLENGTH) && + is_digit(c)); } else if (c != '}') { int cc = c; @@ -1322,6 +1323,8 @@ varname: break; } } else { + if (subtype == VSLENGTH && c != '}') + subtype = 0; badsub: pungetc(); } diff --git a/src/parser.h b/src/parser.h index 524ac1c..7d2749b 100644 --- a/src/parser.h +++ b/src/parser.h @@ -62,6 +62,7 @@ #define VSTRIMLEFT 0x8 /* ${var#pattern} */ #define VSTRIMLEFTMAX 0x9 /* ${var##pattern} */ #define VSLENGTH 0xa /* ${#var} */ +/* VSLENGTH must come last. */ /* values of checkkwd variable */ #define CHKALIAS 0x1 |