From ccb1959aa519f45967e7600c6eb11f70211364df Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 15 Oct 2009 03:31:15 -0400 Subject: [PATCH] hush: unify handling of builtin applets Saves about 10 bytes for each additional builtin applet. Signed-off-by: Mike Frysinger --- shell/hush.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/shell/hush.c b/shell/hush.c index 21f3edcac..3a1d6f805 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)