#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 */