summaryrefslogtreecommitdiff
authorRon Yorston <rmy@pobox.com>2016-04-08 10:57:20 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2016-04-15 20:13:51 (GMT)
commit2b91958dff0b7bae83cf2c3f2db55bd248fe0956 (patch)
tree3b31eba78e93613ea307dde0fbd8995d47c15500
parente4d925b8899e38437311d2c63d0d0d200e04b5a1 (diff)
downloadbusybox-2b91958dff0b7bae83cf2c3f2db55bd248fe0956.zip
busybox-2b91958dff0b7bae83cf2c3f2db55bd248fe0956.tar.gz
busybox-2b91958dff0b7bae83cf2c3f2db55bd248fe0956.tar.bz2
Rewrite iteration through applet names to save a few bytes
function old new delta run_applet_and_exit 758 755 -3 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3) Total: -3 bytes In standalone shell mode the saving increases to 17 bytes. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat
-rw-r--r--libbb/appletlib.c3
-rw-r--r--libbb/lineedit.c7
-rw-r--r--shell/ash.c3
3 files changed, 7 insertions, 6 deletions
diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index de654f6..b682e6b 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -791,7 +791,8 @@ static int busybox_main(char **argv)
full_write2_str(a);
full_write2_str("\n");
i++;
- a += strlen(a) + 1;
+ while (*a++ != '\0')
+ continue;
}
return 0;
}
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 2ddb2b6..3e62f46 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -779,12 +779,11 @@ static NOINLINE unsigned complete_cmd_dir_file(const char *command, int type)
if (type == FIND_EXE_ONLY) {
const char *p = applet_names;
- i = 0;
- while (i < NUM_APPLETS) {
+ while (*p) {
if (strncmp(pfind, p, pf_len) == 0)
add_match(xstrdup(p));
- p += strlen(p) + 1;
- i++;
+ while (*p++ != '\0')
+ continue;
}
}
#endif
diff --git a/shell/ash.c b/shell/ash.c
index 5613e1f..13eeab3 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12597,7 +12597,8 @@ helpcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
out1fmt("\n");
col = 0;
}
- a += strlen(a) + 1;
+ while (*a++ != '\0')
+ continue;
}
}
# endif