diff options
Diffstat (limited to 'dispose_cmd.c')
-rw-r--r-- | dispose_cmd.c | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/dispose_cmd.c b/dispose_cmd.c index ee2e68c..c624605 100644 --- a/dispose_cmd.c +++ b/dispose_cmd.c @@ -1,22 +1,22 @@ /* dispose_command.c -- dispose of a COMMAND structure. */ -/* Copyright (C) 1987-2005 Free Software Foundation, Inc. +/* Copyright (C) 1987-2009 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. - Bash is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - Bash is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with Bash; see the file COPYING. If not, write to the Free - Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ #include "config.h" @@ -92,6 +92,14 @@ dispose_command (command) break; } + case cm_coproc: + { + free (command->value.Coproc->name); + dispose_command (command->value.Coproc->command); + free (command->value.Coproc); + break; + } + case cm_case: { register CASE_COM *c; @@ -301,6 +309,10 @@ dispose_redirects (list) { t = list; list = list->next; + + if (t->rflags & REDIR_VARASSIGN) + dispose_word (t->redirector.filename); + switch (t->instruction) { case r_reading_until: @@ -313,6 +325,7 @@ dispose_redirects (list) case r_inputa_direction: case r_appending_to: case r_err_and_out: + case r_append_err_and_out: case r_input_output: case r_output_force: case r_duplicating_input_word: |