mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -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
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/mount.h>
|
||||
#include <linux/statfs.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/fs_struct.h>
|
||||
#include "internal.h"
|
||||
|
||||
|
|
@ -257,8 +258,7 @@ static ssize_t cachefiles_daemon_write(struct file *file,
|
|||
if (args == data)
|
||||
goto error;
|
||||
*args = '\0';
|
||||
for (args++; isspace(*args); args++)
|
||||
continue;
|
||||
args = skip_spaces(++args);
|
||||
}
|
||||
|
||||
/* run the appropriate command handler */
|
||||
|
|
|
|||
Loading…
Reference in a new issue