From a013d4e66d2545c04e2599aa2e4a4fc50468153d Mon Sep 17 00:00:00 2001 From: cvpcs Date: Thu, 3 Jun 2010 02:20:07 -0500 Subject: first successful build of bash-4.1 --- builtins/return.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 builtins/return.c (limited to 'builtins/return.c') diff --git a/builtins/return.c b/builtins/return.c new file mode 100644 index 0000000..d48b198 --- /dev/null +++ b/builtins/return.c @@ -0,0 +1,45 @@ +/* return.c, created from return.def. */ +#line 22 "./return.def" + +#line 36 "./return.def" + +#include + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include +# endif +# include +#endif + +#include "../bashintl.h" + +#include "../shell.h" +#include "common.h" +#include "bashgetopt.h" + +extern int last_command_exit_value; +extern int subshell_environment; +extern int return_catch_flag, return_catch_value; + +/* If we are executing a user-defined function then exit with the value + specified as an argument. if no argument is given, then the last + exit status is used. */ +int +return_builtin (list) + WORD_LIST *list; +{ + if (no_options (list)) + return (EX_USAGE); + list = loptend; /* skip over possible `--' */ + + return_catch_value = get_exitstat (list); + + if (return_catch_flag) + longjmp (return_catch, 1); + else + { + builtin_error (_("can only `return' from a function or sourced script")); + return (EXECUTION_FAILURE); + } +} -- cgit v1.1