Author: jilles Date: Wed May 4 22:12:22 2011 New Revision: 221463 URL: http://svn.freebsd.org/changeset/base/221463
Log: sh: Apply set -u to variables in arithmetic. Note that this only applies to variables that are actually used. Things like (0 && unsetvar) do not cause an error. Exp-run done by: pav (with some other sh(1) changes) Added: head/tools/regression/bin/sh/expansion/set-u3.0 (contents, props changed) Modified: head/bin/sh/arith_yacc.c Modified: head/bin/sh/arith_yacc.c ============================================================================== --- head/bin/sh/arith_yacc.c Wed May 4 22:02:33 2011 (r221462) +++ head/bin/sh/arith_yacc.c Wed May 4 22:12:22 2011 (r221463) @@ -97,6 +97,8 @@ static arith_t arith_lookupvarint(char * arith_t result; str = lookupvar(varname); + if (uflag && str == NULL) + yyerror("variable not set"); if (str == NULL || *str == '\0') str = "0"; errno = 0; Added: head/tools/regression/bin/sh/expansion/set-u3.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/expansion/set-u3.0 Wed May 4 22:12:22 2011 (r221463) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +set -u +unset x +v=$( (eval ': $((x))') 2>&1 >/dev/null) +[ $? -ne 0 ] && [ -n "$v" ] _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"