summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRasmus Villemoes <linux@rasmusvillemoes.dk>2015-02-13 00:01:42 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-13 03:54:13 +0100
commit43e5b666cf25516b5c27cd10c47d287dc9d1f376 (patch)
tree1347a5fca8c89e284e3548e9059a3e1f6aee1e84 /lib
parentlib/vsprintf.c: improve sanity check in vsnprintf() (diff)
downloadlinux-43e5b666cf25516b5c27cd10c47d287dc9d1f376.tar.xz
linux-43e5b666cf25516b5c27cd10c47d287dc9d1f376.zip
lib/vsprintf.c: replace while with do-while in skip_atoi
All callers of skip_atoi have already checked for the first character being a digit. In this case, gcc generates simpler code for a do while-loop. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/vsprintf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index cf12ba86205c..602d2081e713 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -114,8 +114,9 @@ int skip_atoi(const char **s)
{
int i = 0;
- while (isdigit(**s))
+ do {
i = i*10 + *((*s)++) - '0';
+ } while (isdigit(**s));
return i;
}