diff options
author | Dan Pasanen <dan.pasanen@gmail.com> | 2014-10-02 14:08:59 -0500 |
---|---|---|
committer | Dan Pasanen <dan.pasanen@gmail.com> | 2014-10-02 14:25:19 -0500 |
commit | c6e37862a742387dafd6e175c6d9cb38df5f81e3 (patch) | |
tree | 00623bbab3f1c1fe7fd8a3f85823333663d7c71e /builtins/builtin.c | |
parent | 90a39f32de629ce849276388300f718db331c8b8 (diff) | |
download | android_external_bash-c6e37862a742387dafd6e175c6d9cb38df5f81e3.tar.gz android_external_bash-c6e37862a742387dafd6e175c6d9cb38df5f81e3.tar.bz2 android_external_bash-c6e37862a742387dafd6e175c6d9cb38df5f81e3.zip |
Set up build for android
Diffstat (limited to 'builtins/builtin.c')
-rw-r--r-- | builtins/builtin.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/builtins/builtin.c b/builtins/builtin.c new file mode 100644 index 0000000..3a75014 --- /dev/null +++ b/builtins/builtin.c @@ -0,0 +1,54 @@ +/* builtin.c, created from builtin.def. */ +#line 22 "./builtin.def" + +#line 36 "./builtin.def" +#include <config.h> + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include <sys/types.h> +# endif +# include <unistd.h> +#endif + +#include "../shell.h" +#include "common.h" +#include "bashgetopt.h" + +extern char *this_command_name; + +/* Run the command mentioned in list directly, without going through the + normal alias/function/builtin/filename lookup process. */ +int +builtin_builtin (list) + WORD_LIST *list; +{ + sh_builtin_func_t *function; + register char *command; + + if (no_options (list)) + return (EX_USAGE); + list = loptend; /* skip over possible `--' */ + + if (list == 0) + return (EXECUTION_SUCCESS); + + command = list->word->word; +#if defined (DISABLED_BUILTINS) + function = builtin_address (command); +#else /* !DISABLED_BUILTINS */ + function = find_shell_builtin (command); +#endif /* !DISABLED_BUILTINS */ + + if (!function) + { + sh_notbuiltin (command); + return (EXECUTION_FAILURE); + } + else + { + this_command_name = command; + list = list->next; + return ((*function) (list)); + } +} |