Bash-4.3 patch 34

This commit is contained in:
Chet Ramey 2015-05-19 14:55:02 -04:00
commit 8daea13bac
4 changed files with 10 additions and 4 deletions

View file

@ -751,9 +751,11 @@ unset_builtin (list)
WORD_LIST *list;
{
int unset_function, unset_variable, unset_array, opt, nameref, any_failed;
int global_unset_func, global_unset_var;
char *name;
unset_function = unset_variable = unset_array = nameref = any_failed = 0;
global_unset_func = global_unset_var = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "fnv")) != -1)
@ -761,10 +763,10 @@ unset_builtin (list)
switch (opt)
{
case 'f':
unset_function = 1;
global_unset_func = 1;
break;
case 'v':
unset_variable = 1;
global_unset_var = 1;
break;
case 'n':
nameref = 1;
@ -777,7 +779,7 @@ unset_builtin (list)
list = loptend;
if (unset_function && unset_variable)
if (global_unset_func && global_unset_var)
{
builtin_error (_("cannot simultaneously unset a function and a variable"));
return (EXECUTION_FAILURE);
@ -795,6 +797,9 @@ unset_builtin (list)
name = list->word->word;
unset_function = global_unset_func;
unset_variable = global_unset_var;
#if defined (ARRAY_VARS)
unset_array = 0;
if (!unset_function && valid_array_reference (name))