libbb: introduce and use is_prefixed_with()

function                                             old     new   delta
is_prefixed_with                                       -      18     +18
complete_username                                     78      77      -1
man_main                                             737     735      -2
fsck_device                                          429     427      -2
unpack_ar_archive                                     80      76      -4
strip_unsafe_prefix                                  105     101      -4
singlemount                                         1054    1050      -4
rtc_adjtime_is_utc                                    90      86      -4
resolve_mount_spec                                    88      84      -4
parse_one_line                                      1029    1025      -4
parse_conf                                          1460    1456      -4
may_wakeup                                            83      79      -4
loadkmap_main                                        219     215      -4
get_irqs_from_stat                                   103      99      -4
get_header_cpio                                      913     909      -4
findfs_main                                           79      75      -4
fbsplash_main                                       1230    1226      -4
load_crontab                                         776     771      -5
expand_vars_to_list                                 1151    1146      -5
date_main                                            881     876      -5
skip_dev_pfx                                          30      24      -6
make_device                                         2199    2193      -6
complete_cmd_dir_file                                773     767      -6
run_applet_and_exit                                  715     708      -7
uudecode_main                                        321     313      -8
pwdx_main                                            197     189      -8
execute                                              568     560      -8
i2cdetect_main                                      1186    1176     -10
procps_scan                                         1242    1230     -12
procps_read_smaps                                   1017    1005     -12
process_module                                       746     734     -12
patch_main                                          1903    1891     -12
nfsmount                                            3572    3560     -12
stack_machine                                        126     112     -14
process_timer_stats                                  449     435     -14
match_fstype                                         111      97     -14
do_ipaddr                                           1344    1330     -14
open_list_and_close                                  359     343     -16
get_header_tar                                      1795    1779     -16
prepend_new_eth_table                                340     323     -17
fsck_main                                           1811    1794     -17
find_iface_state                                      56      38     -18
dnsd_main                                           1321    1303     -18
base_device                                          179     158     -21
find_keyword                                         104      82     -22
handle_incoming_and_exit                            2785    2762     -23
parse_and_put_prompt                                 774     746     -28
modinfo                                              347     317     -30
find_action                                          204     171     -33
update_passwd                                       1470    1436     -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540)         Total: -522 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2015-03-12 17:48:34 +01:00
parent 936c8809ca
commit 8dff01d06a
51 changed files with 165 additions and 151 deletions

View File

@@ -438,14 +438,14 @@ static void load_crontab(const char *fileName)
log5("user:%s entry:%s", fileName, parser->data);
/* check if line is setting MAILTO= */
if (0 == strncmp(tokens[0], "MAILTO=", 7)) {
if (is_prefixed_with(tokens[0], "MAILTO=")) {
#if ENABLE_FEATURE_CROND_CALL_SENDMAIL
free(mailTo);
mailTo = (tokens[0][7]) ? xstrdup(&tokens[0][7]) : NULL;
#endif /* otherwise just ignore such lines */
continue;
}
if (0 == strncmp(tokens[0], "SHELL=", 6)) {
if (is_prefixed_with(tokens[0], "SHELL=")) {
free(shell);
shell = xstrdup(&tokens[0][6]);
continue;

View File

@@ -244,9 +244,9 @@ static void stack_machine(const char *argument)
o = operators;
do {
const size_t name_len = strlen(o->name);
if (strncmp(o->name, argument, name_len) == 0) {
argument += name_len;
char *after_name = is_prefixed_with(argument, o->name);
if (after_name) {
argument = after_name;
o->function();
goto next;
}

View File

@@ -1405,7 +1405,6 @@ const char *get_old_name(const char *devname, unsigned int namelen,
int indexx;
const char *pty1;
const char *pty2;
size_t len;
/* 1 to 5 "scsi/" , 6 to 9 "ide/host", 10 sbp/, 11 vcc/, 12 pty/ */
static const char *const fmt[] = {
NULL ,
@@ -1425,12 +1424,11 @@ const char *get_old_name(const char *devname, unsigned int namelen,
};
for (trans = translate_table; trans->match != NULL; ++trans) {
len = strlen(trans->match);
if (strncmp(devname, trans->match, len) == 0) {
char *after_match = is_prefixed_with(devname, trans->match);
if (after_match) {
if (trans->format == NULL)
return devname + len;
sprintf(buffer, trans->format, devname + len);
return after_match;
sprintf(buffer, trans->format, after_match);
return buffer;
}
}

View File

@@ -516,7 +516,7 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
// handle a case when we have many buffered lines
// already in the pipe
while ((num_buf = xmalloc_fgetline(fp)) != NULL) {
if (strncmp(num_buf, "exit", 4) == 0) {
if (is_prefixed_with(num_buf, "exit")) {
DEBUG_MESSAGE("exit");
break;
}

View File

@@ -1198,7 +1198,7 @@ static void NORETURN list_i2c_busses_and_exit(void)
if (subde->d_name[0] == '.')
continue;
if (strncmp(subde->d_name, "i2c-", 4) == 0) {
if (is_prefixed_with(subde->d_name, "i2c-")) {
snprintf(path, NAME_MAX,
"%s/%s/device/%s/name",
i2cdev_path, de->d_name,
@@ -1229,7 +1229,7 @@ found:
if (rv != 1)
continue;
if (strncmp(name, "ISA", 3) == 0)
if (is_prefixed_with(name, "ISA"))
adt = ADT_ISA;
else
adt = i2cdetect_get_funcs(bus);

View File

@@ -87,11 +87,11 @@ int last_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
if (++n > 0)
ut.ut_type = n != 3 ? n : SHUTDOWN_TIME;
#else
if (strncmp(ut.ut_user, "shutdown", 8) == 0)
if (is_prefixed_with(ut.ut_user, "shutdown"))
ut.ut_type = SHUTDOWN_TIME;
else if (strncmp(ut.ut_user, "reboot", 6) == 0)
else if (is_prefixed_with(ut.ut_user, "reboot"))
ut.ut_type = BOOT_TIME;
else if (strncmp(ut.ut_user, "runlevel", 8) == 0)
else if (is_prefixed_with(ut.ut_user, "runlevel"))
ut.ut_type = RUN_LVL;
#endif
} else {

View File

@@ -66,7 +66,7 @@ static int run_pipe(const char *pager, char *man_filename, int man, int level)
goto ordinary_manpage;
line = xmalloc_open_zipped_read_close(man_filename, NULL);
if (!line || strncmp(line, ".so ", 4) != 0) {
if (!line || !is_prefixed_with(line, ".so ")) {
free(line);
goto ordinary_manpage;
}
@@ -228,7 +228,7 @@ int man_main(int argc UNUSED_PARAM, char **argv)
if (!token[1])
continue;
if (strcmp("DEFINE", token[0]) == 0) {
if (strncmp("pager", token[1], 5) == 0) {
if (is_prefixed_with("pager", token[1])) {
pager = xstrdup(skip_whitespace(token[1]) + 5);
}
} else