summaryrefslogtreecommitdiff
path: root/libc/misc/internals/itoa.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/internals/itoa.c')
-rw-r--r--libc/misc/internals/itoa.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/libc/misc/internals/itoa.c b/libc/misc/internals/itoa.c
new file mode 100644
index 000000000..a683b8018
--- /dev/null
+++ b/libc/misc/internals/itoa.c
@@ -0,0 +1,21 @@
+/* itoa.c <ndf@linux.mit.edu> */
+#define __MAX_INT_CHARS 7
+
+char *itoa(int i)
+{
+ static char a[__MAX_INT_CHARS];
+ char *b = a + sizeof(a) - 1;
+ int sign = (i < 0);
+
+ if (sign)
+ i = -i;
+ *b = 0;
+ do {
+ *--b = '0' + (i % 10);
+ i /= 10;
+ }
+ while (i);
+ if (sign)
+ *--b = '-';
+ return b;
+}