diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-10-15 03:31:15 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-10-15 03:33:31 -0400 |
commit | ccb1959aa519f45967e7600c6eb11f70211364df (patch) | |
tree | fd3cea3ed7c6b790ef1452a9bae6f82d8787d31c | |
parent | db67a20595be279e7db9f5f8e27bd94534efb8d4 (diff) | |
download | busybox-w32-ccb1959aa519f45967e7600c6eb11f70211364df.tar.gz busybox-w32-ccb1959aa519f45967e7600c6eb11f70211364df.tar.bz2 busybox-w32-ccb1959aa519f45967e7600c6eb11f70211364df.zip |
hush: unify handling of builtin applets
Saves about 10 bytes for each additional builtin applet.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | shell/hush.c | 16 |
1 files 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) | |||
6897 | return 0; | 6897 | return 0; |
6898 | } | 6898 | } |
6899 | 6899 | ||
6900 | static int FAST_FUNC builtin_test(char **argv) | 6900 | static int FAST_FUNC _builtin_applet(char **argv, int (applet)(int argc, char **argv)) |
6901 | { | 6901 | { |
6902 | int argc = 0; | 6902 | int argc = 0; |
6903 | while (*argv) { | 6903 | while (*argv) { |
6904 | argc++; | 6904 | argc++; |
6905 | argv++; | 6905 | argv++; |
6906 | } | 6906 | } |
6907 | return test_main(argc, argv - argc); | 6907 | return applet(argc, argv - argc); |
6908 | } | ||
6909 | |||
6910 | static int FAST_FUNC builtin_test(char **argv) | ||
6911 | { | ||
6912 | return _builtin_applet(argv, test_main); | ||
6908 | } | 6913 | } |
6909 | 6914 | ||
6910 | static int FAST_FUNC builtin_echo(char **argv) | 6915 | static int FAST_FUNC builtin_echo(char **argv) |
6911 | { | 6916 | { |
6912 | int argc = 0; | 6917 | return _builtin_applet(argv, echo_main); |
6913 | while (*argv) { | ||
6914 | argc++; | ||
6915 | argv++; | ||
6916 | } | ||
6917 | return echo_main(argc, argv - argc); | ||
6918 | } | 6918 | } |
6919 | 6919 | ||
6920 | static int FAST_FUNC builtin_eval(char **argv) | 6920 | static int FAST_FUNC builtin_eval(char **argv) |