From a99617fe8fdb56b3e877558bfd6572ce65ad39de Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 11 Oct 2000 23:54:37 +0000 Subject: Finish reorganizing things. At least I think I've finished. --- libc/misc/internals/ltostr.c | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 libc/misc/internals/ltostr.c (limited to 'libc/misc/internals/ltostr.c') diff --git a/libc/misc/internals/ltostr.c b/libc/misc/internals/ltostr.c new file mode 100644 index 000000000..da6fad232 --- /dev/null +++ b/libc/misc/internals/ltostr.c @@ -0,0 +1,52 @@ +/* Copyright (C) 1995,1996 Robert de Bath + * This file is part of the Linux-8086 C library and is distributed + * under the GNU Library General Public License. + */ + +static char buf[34]; + +extern char *ultostr(); + +char *ltostr(val, radix, uppercase) +long val; +int radix; +int uppercase; +{ + char *p; + int flg = 0; + + if (val < 0) { + flg++; + val = -val; + } + p = ultostr(val, radix, uppercase); + if (p && flg) + *--p = '-'; + return p; +} + +char *ultostr(val, radix, uppercase) +unsigned long val; +int radix; +int uppercase; +{ + register char *p; + register int c; + + if (radix > 36 || radix < 2) + return 0; + + p = buf + sizeof(buf); + *--p = '\0'; + + do { + c = val % radix; + val /= radix; + if (c > 9) + *--p = (uppercase ? 'A' : 'a') - 10 + c; + else + *--p = '0' + c; + } + while (val); + return p; +} -- cgit v1.2.3