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 1, or (at your option) any later
+Software Foundation; either version 2, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
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, 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$PRODUCES break.c
#include "common.h"
extern char *this_command_name;
+extern int posixly_correct;
-static int check_loop_level ();
+static int check_loop_level __P((void));
/* The depth of while's and until's. */
int loop_level = 0;
break_builtin (list)
WORD_LIST *list;
{
- int newbreak;
+ long newbreak;
if (check_loop_level () == 0)
- return (EXECUTION_FAILURE);
+ return (EXECUTION_SUCCESS);
newbreak = get_numeric_arg (list, 1);
continue_builtin (list)
WORD_LIST *list;
{
- int newcont;
+ long newcont;
if (check_loop_level () == 0)
- return (EXECUTION_FAILURE);
+ return (EXECUTION_SUCCESS);
newcont = get_numeric_arg (list, 1);
check_loop_level ()
{
#if defined (BREAK_COMPLAINS)
- if (loop_level == 0)
+ if (loop_level == 0 && posixly_correct == 0)
builtin_error ("only meaningful in a `for', `while', or `until' loop");
#endif /* BREAK_COMPLAINS */