Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdio/printf.c')
-rw-r--r--newlib/libc/stdio/printf.c53
1 files changed, 14 insertions, 39 deletions
diff --git a/newlib/libc/stdio/printf.c b/newlib/libc/stdio/printf.c
index e8ec5b475..da4cb8ee8 100644
--- a/newlib/libc/stdio/printf.c
+++ b/newlib/libc/stdio/printf.c
@@ -5,85 +5,60 @@
#include "local.h"
#ifdef _HAVE_STDC
-
#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef _HAVE_STDC
int
_printf_r (struct _reent *ptr, const char *fmt, ...)
-{
- int ret;
- va_list ap;
-
- _REENT_SMALL_CHECK_INIT(_stdout_r (ptr));
- va_start (ap, fmt);
- ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
- va_end (ap);
- return ret;
-}
-
#else
-
-#include <varargs.h>
-
int
_printf_r (ptr, fmt, va_alist)
struct _reent *ptr;
char *fmt;
va_dcl
+#endif
{
int ret;
va_list ap;
_REENT_SMALL_CHECK_INIT(_stdout_r (ptr));
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
va_start (ap);
+#endif
ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
va_end (ap);
return ret;
}
-#endif
-
-
#ifndef _REENT_ONLY
#ifdef _HAVE_STDC
-
-#include <stdarg.h>
-
int
printf (const char *fmt, ...)
-{
- int ret;
- va_list ap;
-
- _REENT_SMALL_CHECK_INIT(_stdout_r (_REENT));
- va_start (ap, fmt);
- _stdout_r (_REENT)->_data = _REENT;
- ret = vfprintf (_stdout_r (_REENT), fmt, ap);
- va_end (ap);
- return ret;
-}
-
#else
-
-#include <varargs.h>
-
int
printf (fmt, va_alist)
char *fmt;
va_dcl
+#endif
{
int ret;
va_list ap;
_REENT_SMALL_CHECK_INIT(_stdout_r (_REENT));
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
va_start (ap);
- _stdout_r (_REENT)->_data = _REENT;
+#endif
ret = vfprintf (_stdout_r (_REENT), fmt, ap);
va_end (ap);
return ret;
}
-#endif /* ! _HAVE_STDC */
-
#endif /* ! _REENT_ONLY */