[git commit master] hush: unify handling of builtin applets
Mike Frysinger
vapier at gentoo.org
Thu Oct 15 07:33:31 UTC 2009
commit: http://git.busybox.net/busybox/commit/?id=ccb1959aa519f45967e7600c6eb11f70211364df
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Saves about 10 bytes for each additional builtin applet.
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
shell/hush.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/shell/hush.c b/shell/hush.c
index 21f3edc..3a1d6f8 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -6897,24 +6897,24 @@ static int FAST_FUNC builtin_true(char **argv UNUSED_PARAM)
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;
while (*argv) {
argc++;
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)
{
- int argc = 0;
- while (*argv) {
- argc++;
- argv++;
- }
- return echo_main(argc, argv - argc);
+ return _builtin_applet(argv, echo_main);
}
static int FAST_FUNC builtin_eval(char **argv)
--
1.6.3.3
More information about the busybox-cvs
mailing list