diff options
author | Jari Aalto <jari.aalto@cante.net> | 1997-06-05 14:59:13 +0000 |
---|---|---|
committer | Jari Aalto <jari.aalto@cante.net> | 2009-09-12 16:46:50 +0000 |
commit | d166f048818e10cf3799aa24a174fb22835f1acc (patch) | |
tree | 1ca27f9243900f8b236d0cde6a3862002aea9e19 /builtins/break.def | |
parent | ccc6cda312fea9f0468ee65b8f368e9653e1380b (diff) | |
download | android_external_bash-d166f048818e10cf3799aa24a174fb22835f1acc.tar.gz android_external_bash-d166f048818e10cf3799aa24a174fb22835f1acc.tar.bz2 android_external_bash-d166f048818e10cf3799aa24a174fb22835f1acc.zip |
Imported from ../bash-2.01.tar.gz.
Diffstat (limited to 'builtins/break.def')
-rw-r--r-- | builtins/break.def | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/builtins/break.def b/builtins/break.def index d6f8598..5354ef6 100644 --- a/builtins/break.def +++ b/builtins/break.def @@ -57,13 +57,17 @@ break_builtin (list) { int newbreak; - if (!check_loop_level ()) + if (check_loop_level () == 0) return (EXECUTION_FAILURE); - newbreak = get_numeric_arg (list); + newbreak = get_numeric_arg (list, 1); if (newbreak <= 0) - return (EXECUTION_FAILURE); + { + builtin_error ("loop count must be > 0"); + breaking = loop_level; + return (EXECUTION_FAILURE); + } if (newbreak > loop_level) newbreak = loop_level; @@ -88,13 +92,17 @@ continue_builtin (list) { int newcont; - if (!check_loop_level ()) + if (check_loop_level () == 0) return (EXECUTION_FAILURE); - newcont = get_numeric_arg (list); + newcont = get_numeric_arg (list, 1); if (newcont <= 0) - return (EXECUTION_FAILURE); + { + builtin_error ("loop count must be > 0"); + breaking = loop_level; + return (EXECUTION_FAILURE); + } if (newcont > loop_level) newcont = loop_level; @@ -110,7 +118,7 @@ static int check_loop_level () { #if defined (BREAK_COMPLAINS) - if (!loop_level) + if (loop_level == 0) builtin_error ("only meaningful in a `for', `while', or `until' loop"); #endif /* BREAK_COMPLAINS */ |