summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-05-13 17:45:27 -0700
committerPatrick Georgi <pgeorgi@google.com>2019-05-23 08:43:12 +0000
commit66c77c2dc9b16d3b3522697ea04009aad1c8ba79 (patch)
treead10231da105645e9002a9d5b11bd1e855f18e22 /src/console
parent2b6da7f326bf84a8eab3684edf5e5814e9c23385 (diff)
console: Move poor-man's atoi() into string.h
vtxprintf.c seems to have been written before string.h was as fleshed out as it is today -- this patch removes some custom implementation of stuff we now have globally. It also makes the skip_atoi() function globally available, because I need it somewhere else, and while we maybe don't want a huge fully-featured string parsing library in coreboot, being able to parse an integer is occasionally useful. Change-Id: Iecb2b970aecfc768540d2bf8b3023445f54853a4 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32858 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com>
Diffstat (limited to 'src/console')
-rw-r--r--src/console/vtxprintf.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/console/vtxprintf.c b/src/console/vtxprintf.c
index f42ed6d077..c429ac79e2 100644
--- a/src/console/vtxprintf.c
+++ b/src/console/vtxprintf.c
@@ -24,20 +24,6 @@
#define SUPPORT_64BIT_INTS
#endif
-/* haha, don't need ctype.c */
-#define isdigit(c) ((c) >= '0' && (c) <= '9')
-#define is_digit isdigit
-#define isxdigit(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
-
-static int skip_atoi(const char **s)
-{
- int i = 0;
-
- while (is_digit(**s))
- i = i*10 + *((*s)++) - '0';
- return i;
-}
-
#define ZEROPAD 1 /* pad with zero */
#define SIGN 2 /* unsigned/signed long */
#define PLUS 4 /* show plus */
@@ -175,8 +161,8 @@ repeat:
/* get field width */
field_width = -1;
- if (is_digit(*fmt)) {
- field_width = skip_atoi(&fmt);
+ if (isdigit(*fmt)) {
+ field_width = skip_atoi((char **)&fmt);
} else if (*fmt == '*') {
++fmt;
/* it's the next argument */
@@ -191,8 +177,8 @@ repeat:
precision = -1;
if (*fmt == '.') {
++fmt;
- if (is_digit(*fmt)) {
- precision = skip_atoi(&fmt);
+ if (isdigit(*fmt)) {
+ precision = skip_atoi((char **)&fmt);
} else if (*fmt == '*') {
++fmt;
/* it's the next argument */