Bash-4.3 patch 30
This commit is contained in:
parent
13db572a82
commit
ca6a2ba40c
5 changed files with 210 additions and 172 deletions
|
@ -308,12 +308,25 @@ parse_and_execute (string, from_file, flags)
|
|||
{
|
||||
struct fd_bitmap *bitmap;
|
||||
|
||||
if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
|
||||
if (flags & SEVAL_FUNCDEF)
|
||||
{
|
||||
internal_warning ("%s: ignoring function definition attempt", from_file);
|
||||
should_jump_to_top_level = 0;
|
||||
last_result = last_command_exit_value = EX_BADUSAGE;
|
||||
break;
|
||||
char *x;
|
||||
|
||||
/* If the command parses to something other than a straight
|
||||
function definition, or if we have not consumed the entire
|
||||
string, or if the parser has transformed the function
|
||||
name (as parsing will if it begins or ends with shell
|
||||
whitespace, for example), reject the attempt */
|
||||
if (command->type != cm_function_def ||
|
||||
((x = parser_remaining_input ()) && *x) ||
|
||||
(STREQ (from_file, command->value.Function_def->name->word) == 0))
|
||||
{
|
||||
internal_warning (_("%s: ignoring function definition attempt"), from_file);
|
||||
should_jump_to_top_level = 0;
|
||||
last_result = last_command_exit_value = EX_BADUSAGE;
|
||||
reset_parser ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
|
||||
|
@ -378,7 +391,10 @@ parse_and_execute (string, from_file, flags)
|
|||
discard_unwind_frame ("pe_dispose");
|
||||
|
||||
if (flags & SEVAL_ONECMD)
|
||||
break;
|
||||
{
|
||||
reset_parser ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue