Prechádzať zdrojové kódy

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>
Simon Glass 13 rokov pred
rodič
commit
3cce8a5496
3 zmenil súbory, kde vykonal 17 pridanie a 15 odobranie
  1. 0 15
      common/hush.c
  2. 1 0
      include/common.h
  3. 16 0
      lib/vsprintf.c

+ 0 - 15
common/hush.c

@@ -17,7 +17,6 @@
  *      Erik W. Troan, which they placed in the public domain.  I don't know
  *      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.
  *      how much of the Johnson/Troan code has survived the repeated rewrites.
  * Other credits:
  * Other credits:
- *      simple_itoa() was lifted from boa-0.93.15
  *      b_addchr() derived from similar w_addchar function in glibc-2.2
  *      b_addchr() derived from similar w_addchar function in glibc-2.2
  *      setup_redirect(), redirect_opt_num(), and big chunks of main()
  *      setup_redirect(), redirect_opt_num(), and big chunks of main()
  *        and many builtins derived from contributions by Erik Andersen
  *        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);
 	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__
 #ifndef __U_BOOT__
 static int b_adduint(o_string *o, unsigned int i)
 static int b_adduint(o_string *o, unsigned int i)
 {
 {

+ 1 - 0
include/common.h

@@ -723,6 +723,7 @@ void	panic(const char *fmt, ...)
 int	sprintf(char * buf, const char *fmt, ...)
 int	sprintf(char * buf, const char *fmt, ...)
 		__attribute__ ((format (__printf__, 2, 3)));
 		__attribute__ ((format (__printf__, 2, 3)));
 int	vsprintf(char *buf, const char *fmt, va_list args);
 int	vsprintf(char *buf, const char *fmt, va_list args);
+char *simple_itoa(ulong i);
 
 
 /* lib/strmhz.c */
 /* lib/strmhz.c */
 char *	strmhz(char *buf, unsigned long hz);
 char *	strmhz(char *buf, unsigned long hz);

+ 16 - 0
lib/vsprintf.c

@@ -7,6 +7,8 @@
 /* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
 /* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
 /*
 /*
  * Wirzenius wrote this portably, Torvalds fucked it up :-)
  * Wirzenius wrote this portably, Torvalds fucked it up :-)
+ *
+ * from hush: simple_itoa() was lifted from boa-0.93.15
  */
  */
 
 
 #include <stdarg.h>
 #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,
 	panic("%s:%u: %s: Assertion `%s' failed.", file, line, function,
 	      assertion);
 	      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;
+}