diff options
author | Denis Vlasenko | 2007-12-26 20:56:55 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-12-26 20:56:55 +0000 |
commit | c03e8721128fa7803d40dd07084f7650e88c7355 (patch) | |
tree | c13760bac677e9d4220477c0ac29ed9c2a52c1a4 | |
parent | abee3d0e0dc7c7e4b733b0145c56bf8159a37a69 (diff) | |
download | busybox-c03e8721128fa7803d40dd07084f7650e88c7355.zip busybox-c03e8721128fa7803d40dd07084f7650e88c7355.tar.gz |
save a bit of code with *strchrnul = '\0' trick
function old new delta
nextline 59 55 -4
include_conf 902 898 -4
read_config 414 406 -8
fsck_main 1880 1869 -11
-rw-r--r-- | e2fsprogs/fsck.c | 4 | ||||
-rw-r--r-- | modutils/modprobe.c | 5 | ||||
-rw-r--r-- | networking/inetd.c | 6 | ||||
-rw-r--r-- | networking/udhcp/files.c | 10 | ||||
-rw-r--r-- | util-linux/mount.c | 2 |
5 files changed, 8 insertions, 19 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c index f80de81..8dd9785 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c @@ -349,9 +349,7 @@ static int parse_fstab_line(char *line, struct fs_info **ret_fs) *ret_fs = 0; strip_line(line); - cp = strchr(line, '#'); - if (cp) - *cp = '\0'; /* Ignore everything after the comment char */ + *strchrnul(line, '#') = '\0'; /* Ignore everything after comment */ cp = line; device = parse_word(&cp); diff --git a/modutils/modprobe.c b/modutils/modprobe.c index bc2dbd1..f6681a8 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c @@ -242,11 +242,8 @@ static void include_conf(struct dep_t **first, struct dep_t **current, char *buf while (reads(fd, buffer, buflen)) { int l; - char *p; - p = strchr(buffer, '#'); - if (p) - *p = '\0'; + *strchrnul(buffer, '#') = '\0'; l = strlen(buffer); diff --git a/networking/inetd.c b/networking/inetd.c index 5d37746..a9c9397 100644 --- a/networking/inetd.c +++ b/networking/inetd.c @@ -554,13 +554,9 @@ static void setup(servtab_t *sep) static char *nextline(void) { - char *cp; - if (fgets(line, LINE_SIZE, fconfig) == NULL) return NULL; - cp = strchr(line, '\n'); - if (cp) - *cp = '\0'; + *strchrnul(line, '\n') = '\0'; return line; } diff --git a/networking/udhcp/files.c b/networking/udhcp/files.c index 63c9064..491b887 100644 --- a/networking/udhcp/files.c +++ b/networking/udhcp/files.c @@ -332,14 +332,12 @@ int read_config(const char *file) while (fgets(buffer, READ_CONFIG_BUF_SIZE, in)) { char debug_orig[READ_CONFIG_BUF_SIZE]; - char *p; lm++; - p = strchr(buffer, '\n'); - if (p) *p = '\0'; - if (ENABLE_FEATURE_UDHCP_DEBUG) strcpy(debug_orig, buffer); - p = strchr(buffer, '#'); - if (p) *p = '\0'; + *strchrnul(buffer, '\n') = '\0'; + if (ENABLE_FEATURE_UDHCP_DEBUG) + strcpy(debug_orig, buffer); + *strchrnul(buffer, '#') = '\0'; token = strtok(buffer, " \t"); if (!token) continue; diff --git a/util-linux/mount.c b/util-linux/mount.c index 1ecdd95..abf5cd0 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c @@ -1448,7 +1448,7 @@ static int singlemount(struct mntent *mp, int ignore_busy) // Might this be a virtual filesystem? if (ENABLE_FEATURE_MOUNT_HELPERS - && (strchr(mp->mnt_fsname,'#')) + && (strchr(mp->mnt_fsname, '#')) ) { char *s, *p, *args[35]; int n = 0; |