mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
tree-wide: convert open calls to remove spaces to skip_spaces() lib function
Makes use of skip_spaces() defined in lib/string.c for removing leading spaces from strings all over the tree. It decreases lib.a code size by 47 bytes and reuses the function tree-wide: text data bss dec hex filename 64688 584 592 65864 10148 (TOTALS-BEFORE) 64641 584 592 65817 10119 (TOTALS-AFTER) Also, while at it, if we see (*str && isspace(*str)), we can be sure to remove the first condition (*str) as the second one (isspace(*str)) also evaluates to 0 whenever *str == 0, making it redundant. In other words, "a char equals zero is never a space". Julia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below, and found occurrences of this pattern on 3 more files: drivers/leds/led-class.c drivers/leds/ledtrig-timer.c drivers/video/output.c @@ expression str; @@ ( // ignore skip_spaces cases while (*str && isspace(*str)) { \(str++;\|++str;\) } | - *str && isspace(*str) ) Signed-off-by: André Goddard Rosa <[email protected]> Cc: Julia Lawall <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Jeff Dike <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Richard Purdie <[email protected]> Cc: Neil Brown <[email protected]> Cc: Kyle McMartin <[email protected]> Cc: Henrique de Moraes Holschuh <[email protected]> Cc: David Howells <[email protected]> Cc: <[email protected]> Cc: Samuel Ortiz <[email protected]> Cc: Patrick McHardy <[email protected]> Cc: Takashi Iwai <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
84c95c9acf
commit
e7d2860b69
24 changed files with 66 additions and 115 deletions
|
|
@ -12,6 +12,7 @@
|
|||
#include <linux/blkdev.h>
|
||||
#include <linux/namei.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/mutex.h>
|
||||
|
|
@ -600,11 +601,8 @@ int dm_split_args(int *argc, char ***argvp, char *input)
|
|||
return -ENOMEM;
|
||||
|
||||
while (1) {
|
||||
start = end;
|
||||
|
||||
/* Skip whitespace */
|
||||
while (*start && isspace(*start))
|
||||
start++;
|
||||
start = skip_spaces(end);
|
||||
|
||||
if (!*start)
|
||||
break; /* success, we hit the end */
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include <linux/buffer_head.h> /* for invalidate_bdev */
|
||||
#include <linux/poll.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/hdreg.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/random.h>
|
||||
|
|
@ -3439,8 +3440,7 @@ bitmap_store(mddev_t *mddev, const char *buf, size_t len)
|
|||
}
|
||||
if (*end && !isspace(*end)) break;
|
||||
bitmap_dirty_bits(mddev->bitmap, chunk, end_chunk);
|
||||
buf = end;
|
||||
while (isspace(*buf)) buf++;
|
||||
buf = skip_spaces(end);
|
||||
}
|
||||
bitmap_unplug(mddev->bitmap); /* flush the bits to disk */
|
||||
out:
|
||||
|
|
|
|||
Loading…
Reference in a new issue