1/* builtin.c, created from builtin.def. */ 2#line 23 "builtin.def" 3 4#line 31 "builtin.def" 5#include <config.h> 6 7#if defined (HAVE_UNISTD_H) 8# ifdef _MINIX 9# include <sys/types.h> 10# endif 11# include <unistd.h> 12#endif 13 14#include "../shell.h" 15#include "common.h" 16#include "bashgetopt.h" 17 18extern char *this_command_name; 19 20/* Run the command mentioned in list directly, without going through the 21 normal alias/function/builtin/filename lookup process. */ 22int 23builtin_builtin (list) 24 WORD_LIST *list; 25{ 26 sh_builtin_func_t *function; 27 register char *command; 28 29 if (no_options (list)) 30 return (EX_USAGE); 31 list = loptend; /* skip over possible `--' */ 32 33 if (list == 0) 34 return (EXECUTION_SUCCESS); 35 36 command = list->word->word; 37#if defined (DISABLED_BUILTINS) 38 function = builtin_address (command); 39#else /* !DISABLED_BUILTINS */ 40 function = find_shell_builtin (command); 41#endif /* !DISABLED_BUILTINS */ 42 43 if (!function) 44 { 45 sh_notbuiltin (command); 46 return (EXECUTION_FAILURE); 47 } 48 else 49 { 50 this_command_name = command; 51 list = list->next; 52 return ((*function) (list)); 53 } 54} 55