diff options
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c index 962813dbd..713898a9f 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -1225,6 +1225,9 @@ static int evalcmd(int, char **); | |||
1225 | #ifdef CONFIG_ASH_BUILTIN_ECHO | 1225 | #ifdef CONFIG_ASH_BUILTIN_ECHO |
1226 | static int echocmd(int, char **); | 1226 | static int echocmd(int, char **); |
1227 | #endif | 1227 | #endif |
1228 | #ifdef CONFIG_ASH_BUILTIN_TEST | ||
1229 | static int testcmd(int, char **); | ||
1230 | #endif | ||
1228 | static int execcmd(int, char **); | 1231 | static int execcmd(int, char **); |
1229 | static int exitcmd(int, char **); | 1232 | static int exitcmd(int, char **); |
1230 | static int exportcmd(int, char **); | 1233 | static int exportcmd(int, char **); |
@@ -1286,10 +1289,15 @@ struct builtincmd { | |||
1286 | 1289 | ||
1287 | 1290 | ||
1288 | #define COMMANDCMD (builtincmd + 5 + \ | 1291 | #define COMMANDCMD (builtincmd + 5 + \ |
1289 | ENABLE_ASH_ALIAS + ENABLE_ASH_JOB_CONTROL) | 1292 | 2 * ENABLE_ASH_BUILTIN_TEST + \ |
1293 | ENABLE_ASH_ALIAS + \ | ||
1294 | ENABLE_ASH_JOB_CONTROL) | ||
1290 | #define EXECCMD (builtincmd + 7 + \ | 1295 | #define EXECCMD (builtincmd + 7 + \ |
1291 | ENABLE_ASH_CMDCMD + ENABLE_ASH_ALIAS + \ | 1296 | 2 * ENABLE_ASH_BUILTIN_TEST + \ |
1292 | ENABLE_ASH_BUILTIN_ECHO + ENABLE_ASH_JOB_CONTROL) | 1297 | ENABLE_ASH_ALIAS + \ |
1298 | ENABLE_ASH_JOB_CONTROL + \ | ||
1299 | ENABLE_ASH_CMDCMD + \ | ||
1300 | ENABLE_ASH_BUILTIN_ECHO) | ||
1293 | 1301 | ||
1294 | #define BUILTIN_NOSPEC "0" | 1302 | #define BUILTIN_NOSPEC "0" |
1295 | #define BUILTIN_SPECIAL "1" | 1303 | #define BUILTIN_SPECIAL "1" |
@@ -1307,6 +1315,10 @@ struct builtincmd { | |||
1307 | static const struct builtincmd builtincmd[] = { | 1315 | static const struct builtincmd builtincmd[] = { |
1308 | { BUILTIN_SPEC_REG ".", dotcmd }, | 1316 | { BUILTIN_SPEC_REG ".", dotcmd }, |
1309 | { BUILTIN_SPEC_REG ":", truecmd }, | 1317 | { BUILTIN_SPEC_REG ":", truecmd }, |
1318 | #ifdef CONFIG_ASH_BUILTIN_TEST | ||
1319 | { BUILTIN_REGULAR "[", testcmd }, | ||
1320 | { BUILTIN_REGULAR "[[", testcmd }, | ||
1321 | #endif | ||
1310 | #ifdef CONFIG_ASH_ALIAS | 1322 | #ifdef CONFIG_ASH_ALIAS |
1311 | { BUILTIN_REG_ASSG "alias", aliascmd }, | 1323 | { BUILTIN_REG_ASSG "alias", aliascmd }, |
1312 | #endif | 1324 | #endif |
@@ -1353,6 +1365,9 @@ static const struct builtincmd builtincmd[] = { | |||
1353 | { BUILTIN_SPEC_REG "set", setcmd }, | 1365 | { BUILTIN_SPEC_REG "set", setcmd }, |
1354 | { BUILTIN_SPEC_REG "source", dotcmd }, | 1366 | { BUILTIN_SPEC_REG "source", dotcmd }, |
1355 | { BUILTIN_SPEC_REG "shift", shiftcmd }, | 1367 | { BUILTIN_SPEC_REG "shift", shiftcmd }, |
1368 | #ifdef CONFIG_ASH_BUILTIN_TEST | ||
1369 | { BUILTIN_REGULAR "test", testcmd }, | ||
1370 | #endif | ||
1356 | { BUILTIN_SPEC_REG "times", timescmd }, | 1371 | { BUILTIN_SPEC_REG "times", timescmd }, |
1357 | { BUILTIN_SPEC_REG "trap", trapcmd }, | 1372 | { BUILTIN_SPEC_REG "trap", trapcmd }, |
1358 | { BUILTIN_REGULAR "true", truecmd }, | 1373 | { BUILTIN_REGULAR "true", truecmd }, |
@@ -8143,6 +8158,15 @@ echocmd(int argc, char **argv) | |||
8143 | return bb_echo(argc, argv); | 8158 | return bb_echo(argc, argv); |
8144 | } | 8159 | } |
8145 | #endif | 8160 | #endif |
8161 | |||
8162 | #ifdef CONFIG_ASH_BUILTIN_TEST | ||
8163 | static int | ||
8164 | testcmd(int argc, char **argv) | ||
8165 | { | ||
8166 | return bb_test(argc, argv); | ||
8167 | } | ||
8168 | #endif | ||
8169 | |||
8146 | /* memalloc.c */ | 8170 | /* memalloc.c */ |
8147 | 8171 | ||
8148 | /* | 8172 | /* |