OSDN Git Service

Add in gcvt()
authorEric Andersen <andersen@codepoet.org>
Sat, 29 Sep 2001 07:53:25 +0000 (07:53 -0000)
committerEric Andersen <andersen@codepoet.org>
Sat, 29 Sep 2001 07:53:25 +0000 (07:53 -0000)
libc/stdlib/Makefile
libc/stdlib/gcvt.c [new file with mode: 0644]

index cff8ada..c228cd9 100644 (file)
@@ -38,7 +38,7 @@ MOBJ2=atexit.o exit.o
 
 CSRC = abort.c getenv.c mktemp.c qsort.c realpath.c abs.c bsearch.c \
        mkstemp.c putenv.c rand.c random.c setenv.c system.c div.c ldiv.c \
-       getpt.c ptsname.c grantpt.c unlockpt.c
+       getpt.c ptsname.c grantpt.c unlockpt.c gcvt.c
 ifeq ($(HAS_FLOATING_POINT),true)
        CSRC += strtod.c
 endif
diff --git a/libc/stdlib/gcvt.c b/libc/stdlib/gcvt.c
new file mode 100644 (file)
index 0000000..4ce5cf4
--- /dev/null
@@ -0,0 +1,11 @@
+
+#include <stdlib.h>
+
+#ifdef __UCLIBC_HAS_FLOATS__
+#define MAX_NDIGIT 17
+char * gcvt(double number, size_t ndigit, char* buf)
+{
+    sprintf(buf, "%.*g", (ndigit > MAX_NDIGIT)? MAX_NDIGIT : ndigit, number);
+    return buf;
+}
+#endif