hush: unify handling of builtin applets
Saves about 10 bytes for each additional builtin applet. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
db67a20595
commit
ccb1959aa5
16
shell/hush.c
16
shell/hush.c
@ -6897,24 +6897,24 @@ static int FAST_FUNC builtin_true(char **argv UNUSED_PARAM)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int FAST_FUNC builtin_test(char **argv)
|
static int FAST_FUNC _builtin_applet(char **argv, int (applet)(int argc, char **argv))
|
||||||
{
|
{
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
while (*argv) {
|
while (*argv) {
|
||||||
argc++;
|
argc++;
|
||||||
argv++;
|
argv++;
|
||||||
}
|
}
|
||||||
return test_main(argc, argv - argc);
|
return applet(argc, argv - argc);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int FAST_FUNC builtin_test(char **argv)
|
||||||
|
{
|
||||||
|
return _builtin_applet(argv, test_main);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int FAST_FUNC builtin_echo(char **argv)
|
static int FAST_FUNC builtin_echo(char **argv)
|
||||||
{
|
{
|
||||||
int argc = 0;
|
return _builtin_applet(argv, echo_main);
|
||||||
while (*argv) {
|
|
||||||
argc++;
|
|
||||||
argv++;
|
|
||||||
}
|
|
||||||
return echo_main(argc, argv - argc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int FAST_FUNC builtin_eval(char **argv)
|
static int FAST_FUNC builtin_eval(char **argv)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user