summaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
authorDenys Vlasenko2015-03-12 17:48:34 +0100
committerDenys Vlasenko2015-03-12 17:48:34 +0100
commit8dff01d06a7ebd7330e3a1dd1ba47b3c74ee7dfb (patch)
tree41c9dfbd45676c9e8737a7d8aa4361bbdfb40868 /util-linux
parent936c8809caea5705e26e5d7e06ea3895c28fffd8 (diff)
downloadbusybox-8dff01d06a7ebd7330e3a1dd1ba47b3c74ee7dfb.zip
busybox-8dff01d06a7ebd7330e3a1dd1ba47b3c74ee7dfb.tar.gz
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>
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/acpid.c2
-rw-r--r--util-linux/fdisk.c6
-rw-r--r--util-linux/fdisk_osf.c2
-rw-r--r--util-linux/fdisk_sgi.c2
-rw-r--r--util-linux/findfs.c2
-rw-r--r--util-linux/mdev.c2
-rw-r--r--util-linux/mount.c10
-rw-r--r--util-linux/rtcwake.c2
-rw-r--r--util-linux/volume_id/get_devname.c4
9 files changed, 16 insertions, 16 deletions
diff --git a/util-linux/acpid.c b/util-linux/acpid.c
index fc8151f..0f2cb6b 100644
--- a/util-linux/acpid.c
+++ b/util-linux/acpid.c
@@ -151,7 +151,7 @@ static const char *find_action(struct input_event *ev, const char *buf)
}
if (buf) {
- if (strncmp(buf, evt_tab[i].desc, strlen(buf)) == 0) {
+ if (is_prefixed_with(evt_tab[i].desc, buf)) {
action = evt_tab[i].desc;
break;
}
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c
index 39eb27b..7fe70fb 100644
--- a/util-linux/fdisk.c
+++ b/util-linux/fdisk.c
@@ -2781,14 +2781,14 @@ is_ide_cdrom_or_tape(const char *device)
the process hangs on the attempt to read a music CD.
So try to be careful. This only works since 2.1.73. */
- if (strncmp("/dev/hd", device, 7))
+ if (!is_prefixed_with(device, "/dev/hd"))
return 0;
snprintf(buf, sizeof(buf), "/proc/ide/%s/media", device+5);
procf = fopen_for_read(buf);
if (procf != NULL && fgets(buf, sizeof(buf), procf))
- is_ide = (!strncmp(buf, "cdrom", 5) ||
- !strncmp(buf, "tape", 4));
+ is_ide = (is_prefixed_with(buf, "cdrom") ||
+ is_prefixed_with(buf, "tape"));
else
/* Now when this proc file does not exist, skip the
device when it is read-only. */
diff --git a/util-linux/fdisk_osf.c b/util-linux/fdisk_osf.c
index ff16389..af04cfc 100644
--- a/util-linux/fdisk_osf.c
+++ b/util-linux/fdisk_osf.c
@@ -854,7 +854,7 @@ xbsd_initlabel(struct partition *p)
d->d_magic = BSD_DISKMAGIC;
- if (strncmp(disk_device, "/dev/sd", 7) == 0)
+ if (is_prefixed_with(disk_device, "/dev/sd"))
d->d_type = BSD_DTYPE_SCSI;
else
d->d_type = BSD_DTYPE_ST506;
diff --git a/util-linux/fdisk_sgi.c b/util-linux/fdisk_sgi.c
index 785fc66..23ebc56 100644
--- a/util-linux/fdisk_sgi.c
+++ b/util-linux/fdisk_sgi.c
@@ -440,7 +440,7 @@ sgi_write_table(void)
(unsigned int*)sgilabel, sizeof(*sgilabel)) == 0);
write_sector(0, sgilabel);
- if (!strncmp((char*)sgilabel->directory[0].vol_file_name, "sgilabel", 8)) {
+ if (is_prefixed_with((char*)sgilabel->directory[0].vol_file_name, "sgilabel")) {
/*
* keep this habit of first writing the "sgilabel".
* I never tested whether it works without (AN 981002).
diff --git a/util-linux/findfs.c b/util-linux/findfs.c
index 49e8979..07734f3 100644
--- a/util-linux/findfs.c
+++ b/util-linux/findfs.c
@@ -27,7 +27,7 @@ int findfs_main(int argc UNUSED_PARAM, char **argv)
if (!dev)
bb_show_usage();
- if (strncmp(dev, "/dev/", 5) == 0) {
+ if (is_prefixed_with(dev, "/dev/")) {
/* Just pass any /dev/xxx name right through.
* This might aid in some scripts being able
* to call this unconditionally */
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index b2d5657..ccc00d3 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -610,7 +610,7 @@ static void make_device(char *device_name, char *path, int operation)
* We use strstr("/block/") to forestall future surprises.
*/
type = S_IFCHR;
- if (strstr(path, "/block/") || (G.subsystem && strncmp(G.subsystem, "block", 5) == 0))
+ if (strstr(path, "/block/") || (G.subsystem && is_prefixed_with(G.subsystem, "block")))
type = S_IFBLK;
#if ENABLE_FEATURE_MDEV_CONF
diff --git a/util-linux/mount.c b/util-linux/mount.c
index fbc89c8..cb40c80 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -641,7 +641,7 @@ static llist_t *get_block_backed_filesystems(void)
if (!f) continue;
while ((buf = xmalloc_fgetline(f)) != NULL) {
- if (strncmp(buf, "nodev", 5) == 0 && isspace(buf[5]))
+ if (is_prefixed_with(buf, "nodev") && isspace(buf[5]))
goto next;
fs = skip_whitespace(buf);
if (*fs == '#' || *fs == '*' || !*fs)
@@ -1364,9 +1364,9 @@ static NOINLINE int nfsmount(struct mntent *mp, unsigned long vfsflags, char *fi
strcspn(opteq, " \t\n\r,"));
continue;
case 18: // "proto"
- if (!strncmp(opteq, "tcp", 3))
+ if (is_prefixed_with(opteq, "tcp"))
tcp = 1;
- else if (!strncmp(opteq, "udp", 3))
+ else if (is_prefixed_with(opteq, "udp"))
tcp = 0;
else
bb_error_msg("warning: unrecognized proto= option");
@@ -1459,7 +1459,7 @@ static NOINLINE int nfsmount(struct mntent *mp, unsigned long vfsflags, char *fi
"rdirplus\0"
"acl\0";
int val = 1;
- if (!strncmp(opt, "no", 2)) {
+ if (is_prefixed_with(opt, "no")) {
val = 0;
opt += 2;
}
@@ -1979,7 +1979,7 @@ static int singlemount(struct mntent *mp, int ignore_busy)
}
// Might this be an NFS filesystem?
- if ((!mp->mnt_type || strncmp(mp->mnt_type, "nfs", 3) == 0)
+ if ((!mp->mnt_type || is_prefixed_with(mp->mnt_type, "nfs"))
&& strchr(mp->mnt_fsname, ':') != NULL
) {
if (!mp->mnt_type)
diff --git a/util-linux/rtcwake.c b/util-linux/rtcwake.c
index 53d9384..8aee0cf 100644
--- a/util-linux/rtcwake.c
+++ b/util-linux/rtcwake.c
@@ -66,7 +66,7 @@ static NOINLINE bool may_wakeup(const char *rtcname)
return false;
/* wakeup events could be disabled or not supported */
- return strncmp(buf, "enabled\n", 8) == 0;
+ return is_prefixed_with(buf, "enabled\n") != NULL;
}
static NOINLINE void setup_alarm(int fd, time_t *wakeup, time_t rtc_time)
diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c
index 0c6bdfd..53bdbdf 100644
--- a/util-linux/volume_id/get_devname.c
+++ b/util-linux/volume_id/get_devname.c
@@ -302,9 +302,9 @@ int resolve_mount_spec(char **fsname)
{
char *tmp = *fsname;
- if (strncmp(*fsname, "UUID=", 5) == 0)
+ if (is_prefixed_with(*fsname, "UUID="))
tmp = get_devname_from_uuid(*fsname + 5);
- else if (strncmp(*fsname, "LABEL=", 6) == 0)
+ else if (is_prefixed_with(*fsname, "LABEL=") == 0)
tmp = get_devname_from_label(*fsname + 6);
if (tmp == *fsname)