mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -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
|
|
@ -249,6 +249,7 @@
|
|||
#include <linux/poll.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/ctype.h> /* isspace() */
|
||||
#include <linux/string.h> /* skip_spaces() */
|
||||
#include <asm/uaccess.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -76,9 +76,8 @@ irnet_ctrl_write(irnet_socket * ap,
|
|||
/* Look at the next command */
|
||||
start = next;
|
||||
|
||||
/* Scrap whitespaces before the command */
|
||||
while(isspace(*start))
|
||||
start++;
|
||||
/* Scrap whitespaces before the command */
|
||||
start = skip_spaces(start);
|
||||
|
||||
/* ',' is our command separator */
|
||||
next = strchr(start, ',');
|
||||
|
|
@ -133,8 +132,7 @@ irnet_ctrl_write(irnet_socket * ap,
|
|||
char * endp;
|
||||
|
||||
/* Scrap whitespaces before the command */
|
||||
while(isspace(*begp))
|
||||
begp++;
|
||||
begp = skip_spaces(begp);
|
||||
|
||||
/* Convert argument to a number (last arg is the base) */
|
||||
addr = simple_strtoul(begp, &endp, 16);
|
||||
|
|
|
|||
Loading…
Reference in a new issue