summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog12
-rw-r--r--newlib/libc/include/limits.h6
-rw-r--r--newlib/libc/stdio/vfprintf.c6
3 files changed, 22 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 7ad30336b..00f01bda2 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,15 @@
+2007-04-24 Eric Blake <ebb9@byu.net>
+
+ * libc/include/limits.h (NL_ARGMAX): Define a default value.
+ * libc/stdio/vfprintf.c (MAX_POS_ARGS): Define in terms of
+ NL_ARGMAX, if present.
+
+2007-04-23 Brian Dessent <brian@dessent.net>
+
+ * libc/stdio/vfprintf.c (_vfprintf_r): When the alternate-form flag
+ has been specified with types 'f', 'F', 'g', or 'G', ensure the
+ trailing decimal is printed.
+
2007-04-23 Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>
* confsubdir.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS): New
diff --git a/newlib/libc/include/limits.h b/newlib/libc/include/limits.h
index 53a7a41d6..137ebe698 100644
--- a/newlib/libc/include/limits.h
+++ b/newlib/libc/include/limits.h
@@ -9,6 +9,11 @@
# define MB_LEN_MAX 1
# endif
+/* Maximum number of positional arguments, if _WANT_IO_POS_ARGS. */
+# ifndef NL_ARGMAX
+# define NL_ARGMAX 32
+# endif
+
/* if do not have #include_next support, then we
have to define the limits here. */
# if !defined __GNUC__ || __GNUC__ < 2
@@ -124,4 +129,3 @@
/* `_GCC_LIMITS_H_' is what GCC's file defines. */
# include_next <limits.h>
#endif /* __GNUC__ && !_GCC_LIMITS_H_ */
-
diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
index 0e40a3e8f..0f9f78bfe 100644
--- a/newlib/libc/stdio/vfprintf.c
+++ b/newlib/libc/stdio/vfprintf.c
@@ -320,7 +320,11 @@ typedef int * int_ptr_t;
typedef short * short_ptr_t;
#ifndef _NO_POS_ARGS
-#define MAX_POS_ARGS 32
+# ifdef NL_ARGMAX
+# define MAX_POS_ARGS NL_ARGMAX
+# else
+# define MAX_POS_ARGS 32
+# endif
union arg_val
{