Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/bash/src/builtins/builtin.def |
Source code | Switch to Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | This file is builtin.def, from which is created builtin.c. | - | ||||||
2 | It implements the builtin "builtin" in Bash. | - | ||||||
3 | - | |||||||
4 | Copyright (C) 1987-2017 Free Software Foundation, Inc. | - | ||||||
5 | - | |||||||
6 | This file is part of GNU Bash, the Bourne Again SHell. | - | ||||||
7 | - | |||||||
8 | Bash is free software: you can redistribute it and/or modify | - | ||||||
9 | it under the terms of the GNU General Public License as published by | - | ||||||
10 | the Free Software Foundation, either version 3 of the License, or | - | ||||||
11 | (at your option) any later version. | - | ||||||
12 | - | |||||||
13 | Bash is distributed in the hope that it will be useful, | - | ||||||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | - | ||||||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | - | ||||||
16 | GNU General Public License for more details. | - | ||||||
17 | - | |||||||
18 | You should have received a copy of the GNU General Public License | - | ||||||
19 | along with Bash. If not, see <http://www.gnu.org/licenses/>. | - | ||||||
20 | - | |||||||
21 | $PRODUCES builtin.c | - | ||||||
22 | - | |||||||
23 | $BUILTIN builtin | - | ||||||
24 | $FUNCTION builtin_builtin | - | ||||||
25 | $SHORT_DOC builtin [shell-builtin [arg ...]] | - | ||||||
26 | Execute shell builtins. | - | ||||||
27 | - | |||||||
28 | Execute SHELL-BUILTIN with arguments ARGs without performing command | - | ||||||
29 | lookup. This is useful when you wish to reimplement a shell builtin | - | ||||||
30 | as a shell function, but need to execute the builtin within the function. | - | ||||||
31 | - | |||||||
32 | Exit Status: | - | ||||||
33 | Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is | - | ||||||
34 | not a shell builtin.. | - | ||||||
35 | $END | - | ||||||
36 | #include <config.h> | - | ||||||
37 | - | |||||||
38 | #if defined (HAVE_UNISTD_H) | - | ||||||
39 | # ifdef _MINIX | - | ||||||
40 | # include <sys/types.h> | - | ||||||
41 | # endif | - | ||||||
42 | # include <unistd.h> | - | ||||||
43 | #endif | - | ||||||
44 | - | |||||||
45 | #include "../shell.h" | - | ||||||
46 | #include "../execute_cmd.h" | - | ||||||
47 | #include "common.h" | - | ||||||
48 | #include "bashgetopt.h" | - | ||||||
49 | - | |||||||
50 | /* Run the command mentioned in list directly, without going through the | - | ||||||
51 | normal alias/function/builtin/filename lookup process. */ | - | ||||||
52 | int | - | ||||||
53 | builtin_builtin (list) | - | ||||||
54 | WORD_LIST *list; | - | ||||||
55 | { | - | ||||||
56 | sh_builtin_func_t *function; | - | ||||||
57 | register char *command; | - | ||||||
58 | - | |||||||
59 | if (no_options (list))
| 0-48 | ||||||
60 | return (EX_USAGE); never executed: return (258); | 0 | ||||||
61 | list = loptend; /* skip over possible `--' */ | - | ||||||
62 | - | |||||||
63 | if (list == 0)
| 9-39 | ||||||
64 | return (EXECUTION_SUCCESS); executed 9 times by 1 test: return (0); Executed by:
| 9 | ||||||
65 | - | |||||||
66 | command = list->word->word; | - | ||||||
67 | #if defined (DISABLED_BUILTINS) | - | ||||||
68 | function = builtin_address (command); | - | ||||||
69 | #else /* !DISABLED_BUILTINS */ | - | ||||||
70 | function = find_shell_builtin (command); | - | ||||||
71 | #endif /* !DISABLED_BUILTINS */ | - | ||||||
72 | - | |||||||
73 | if (function == 0)
| 1-38 | ||||||
74 | { | - | ||||||
75 | sh_notbuiltin (command); | - | ||||||
76 | return (EXECUTION_FAILURE); executed 1 time by 1 test: return (1); Executed by:
| 1 | ||||||
77 | } | - | ||||||
78 | else | - | ||||||
79 | { | - | ||||||
80 | this_command_name = command; | - | ||||||
81 | this_shell_builtin = function; /* overwrite "builtin" as this builtin */ | - | ||||||
82 | list = list->next; | - | ||||||
83 | return ((*function) (list)); executed 38 times by 1 test: return ((*function) (list)); Executed by:
| 38 | ||||||
84 | } | - | ||||||
85 | } | - | ||||||
Source code | Switch to Preprocessed file |