summaryrefslogtreecommitdiffstats
path: root/lib/bitmap.c
diff options
context:
space:
mode:
authorRasmus Villemoes <linux@rasmusvillemoes.dk>2014-08-07 01:10:12 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-07 03:01:26 +0200
commitbc5be1828065681300f3727ab55fac0d7ef37af3 (patch)
treec279a498e6da81b3ce6f4fd422982d430fa20883 /lib/bitmap.c
parentlib: bitmap: make the start index of bitmap_clear unsigned (diff)
downloadlinux-bc5be1828065681300f3727ab55fac0d7ef37af3.tar.xz
linux-bc5be1828065681300f3727ab55fac0d7ef37af3.zip
lib: bitmap: simplify bitmap_parselist
We want len to be the index of the first '\n', or the length of the string if there is no newline. This is a good example of the usefulness of strchrnul(). Use that instead, thus eliminating a branch and a call to strlen(). Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r--lib/bitmap.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c
index 5d2540396300..d4b3a6d4b2d7 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -665,13 +665,8 @@ static int __bitmap_parselist(const char *buf, unsigned int buflen,
int bitmap_parselist(const char *bp, unsigned long *maskp, int nmaskbits)
{
- char *nl = strchr(bp, '\n');
- int len;
-
- if (nl)
- len = nl - bp;
- else
- len = strlen(bp);
+ char *nl = strchrnul(bp, '\n');
+ int len = nl - bp;
return __bitmap_parselist(bp, len, 0, maskp, nmaskbits);
}