* [PATCH 1/2] lib/strtox: whitespace cleanup
@ 2017-04-11 6:39 Sascha Hauer
2017-04-11 6:39 ` [PATCH 2/2] lib/strtox: remove unnecessary islower() Sascha Hauer
2017-04-15 8:22 ` [PATCH 1/2] lib/strtox: whitespace cleanup Sam Ravnborg
0 siblings, 2 replies; 4+ messages in thread
From: Sascha Hauer @ 2017-04-11 6:39 UTC (permalink / raw)
To: Barebox List
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
lib/strtox.c | 53 +++++++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 22 deletions(-)
diff --git a/lib/strtox.c b/lib/strtox.c
index cfe61240cc..45aa06bacc 100644
--- a/lib/strtox.c
+++ b/lib/strtox.c
@@ -1,67 +1,76 @@
#include <common.h>
#include <linux/ctype.h>
-unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base)
+unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base)
{
- unsigned long result = 0,value;
+ unsigned long result = 0, value;
if (*cp == '0') {
cp++;
+
if ((*cp == 'x') && isxdigit(cp[1])) {
base = 16;
cp++;
}
- if (!base) {
+
+ if (!base)
base = 8;
- }
}
- if (!base) {
+
+ if (!base)
base = 10;
- }
- while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp)
- ? toupper(*cp) : *cp)-'A'+10) < base) {
- result = result*base + value;
+
+ while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp - '0' : (islower(*cp)
+ ? toupper(*cp) : *cp) - 'A' + 10) < base) {
+ result = result * base + value;
cp++;
}
+
if (endp)
*endp = (char *)cp;
+
return result;
}
EXPORT_SYMBOL(simple_strtoul);
-long simple_strtol(const char *cp,char **endp,unsigned int base)
+long simple_strtol(const char *cp, char **endp, unsigned int base)
{
- if(*cp=='-')
- return -simple_strtoul(cp+1,endp,base);
- return simple_strtoul(cp,endp,base);
+ if (*cp == '-')
+ return -simple_strtoul(cp + 1, endp, base);
+
+ return simple_strtoul(cp, endp, base);
}
EXPORT_SYMBOL(simple_strtol);
-unsigned long long simple_strtoull (const char *cp, char **endp, unsigned int base)
+unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base)
{
unsigned long long result = 0, value;
if (*cp == '0') {
cp++;
- if ((*cp == 'x') && isxdigit (cp[1])) {
+
+ if ((*cp == 'x') && isxdigit(cp[1])) {
base = 16;
cp++;
}
- if (!base) {
+
+ if (!base)
base = 8;
- }
}
- if (!base) {
+
+ if (!base)
base = 10;
- }
- while (isxdigit (*cp) && (value = isdigit (*cp)
+
+ while (isxdigit(*cp) && (value = isdigit(*cp)
? *cp - '0'
- : (islower (*cp) ? toupper (*cp) : *cp) - 'A' + 10) < base) {
+ : (islower(*cp) ? toupper(*cp) : *cp) - 'A' + 10) < base) {
result = result * base + value;
cp++;
}
+
if (endp)
- *endp = (char *) cp;
+ *endp = (char *)cp;
+
return result;
}
EXPORT_SYMBOL(simple_strtoull);
--
2.11.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] lib/strtox: remove unnecessary islower()
2017-04-11 6:39 [PATCH 1/2] lib/strtox: whitespace cleanup Sascha Hauer
@ 2017-04-11 6:39 ` Sascha Hauer
2017-04-15 8:24 ` Sam Ravnborg
2017-04-15 8:22 ` [PATCH 1/2] lib/strtox: whitespace cleanup Sam Ravnborg
1 sibling, 1 reply; 4+ messages in thread
From: Sascha Hauer @ 2017-04-11 6:39 UTC (permalink / raw)
To: Barebox List
toupper() does the right thing, no need to test for islower()
beforehand, so
islower(*cp) ? toupper(*cp) : *cp
can be simplified to:
toupper(*cp)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
lib/strtox.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/lib/strtox.c b/lib/strtox.c
index 45aa06bacc..3bb6b0ef89 100644
--- a/lib/strtox.c
+++ b/lib/strtox.c
@@ -20,8 +20,8 @@ unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base)
if (!base)
base = 10;
- while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp - '0' : (islower(*cp)
- ? toupper(*cp) : *cp) - 'A' + 10) < base) {
+ while (isxdigit(*cp) && (value = isdigit(*cp) ?
+ *cp - '0' : toupper(*cp) - 'A' + 10) < base) {
result = result * base + value;
cp++;
}
@@ -61,9 +61,8 @@ unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int bas
if (!base)
base = 10;
- while (isxdigit(*cp) && (value = isdigit(*cp)
- ? *cp - '0'
- : (islower(*cp) ? toupper(*cp) : *cp) - 'A' + 10) < base) {
+ while (isxdigit(*cp) && (value = isdigit(*cp) ?
+ *cp - '0' : toupper(*cp) - 'A' + 10) < base) {
result = result * base + value;
cp++;
}
--
2.11.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] lib/strtox: whitespace cleanup
2017-04-11 6:39 [PATCH 1/2] lib/strtox: whitespace cleanup Sascha Hauer
2017-04-11 6:39 ` [PATCH 2/2] lib/strtox: remove unnecessary islower() Sascha Hauer
@ 2017-04-15 8:22 ` Sam Ravnborg
1 sibling, 0 replies; 4+ messages in thread
From: Sam Ravnborg @ 2017-04-15 8:22 UTC (permalink / raw)
To: Sascha Hauer; +Cc: Barebox List
Hi Sasha.
Looks much better.
On Tue, Apr 11, 2017 at 08:39:33AM +0200, Sascha Hauer wrote:
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-04-15 8:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-11 6:39 [PATCH 1/2] lib/strtox: whitespace cleanup Sascha Hauer
2017-04-11 6:39 ` [PATCH 2/2] lib/strtox: remove unnecessary islower() Sascha Hauer
2017-04-15 8:24 ` Sam Ravnborg
2017-04-15 8:22 ` [PATCH 1/2] lib/strtox: whitespace cleanup Sam Ravnborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox