Move simple_itoa to vsprintf
This function is generally useful and shouldn't hide away in hush. It has been moved as is. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
70d52f9a4e
commit
3cce8a5496
@ -17,7 +17,6 @@
|
||||
* Erik W. Troan, which they placed in the public domain. I don't know
|
||||
* how much of the Johnson/Troan code has survived the repeated rewrites.
|
||||
* Other credits:
|
||||
* simple_itoa() was lifted from boa-0.93.15
|
||||
* b_addchr() derived from similar w_addchar function in glibc-2.2
|
||||
* setup_redirect(), redirect_opt_num(), and big chunks of main()
|
||||
* and many builtins derived from contributions by Erik Andersen
|
||||
@ -922,20 +921,6 @@ static int b_addqchr(o_string *o, int ch, int quote)
|
||||
return b_addchr(o, ch);
|
||||
}
|
||||
|
||||
/* belongs in utility.c */
|
||||
char *simple_itoa(unsigned int i)
|
||||
{
|
||||
/* 21 digits plus null terminator, good for 64-bit or smaller ints */
|
||||
static char local[22];
|
||||
char *p = &local[21];
|
||||
*p-- = '\0';
|
||||
do {
|
||||
*p-- = '0' + i % 10;
|
||||
i /= 10;
|
||||
} while (i > 0);
|
||||
return p + 1;
|
||||
}
|
||||
|
||||
#ifndef __U_BOOT__
|
||||
static int b_adduint(o_string *o, unsigned int i)
|
||||
{
|
||||
|
@ -723,6 +723,7 @@ void panic(const char *fmt, ...)
|
||||
int sprintf(char * buf, const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 2, 3)));
|
||||
int vsprintf(char *buf, const char *fmt, va_list args);
|
||||
char *simple_itoa(ulong i);
|
||||
|
||||
/* lib/strmhz.c */
|
||||
char * strmhz(char *buf, unsigned long hz);
|
||||
|
@ -7,6 +7,8 @@
|
||||
/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
|
||||
/*
|
||||
* Wirzenius wrote this portably, Torvalds fucked it up :-)
|
||||
*
|
||||
* from hush: simple_itoa() was lifted from boa-0.93.15
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
@ -738,3 +740,17 @@ void __assert_fail(const char *assertion, const char *file, unsigned line,
|
||||
panic("%s:%u: %s: Assertion `%s' failed.", file, line, function,
|
||||
assertion);
|
||||
}
|
||||
|
||||
char *simple_itoa(ulong i)
|
||||
{
|
||||
/* 21 digits plus null terminator, good for 64-bit or smaller ints */
|
||||
static char local[22];
|
||||
char *p = &local[21];
|
||||
|
||||
*p-- = '\0';
|
||||
do {
|
||||
*p-- = '0' + i % 10;
|
||||
i /= 10;
|
||||
} while (i > 0);
|
||||
return p + 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user