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:
authorCorinna Vinschen <corinna@vinschen.de>2009-03-06 12:55:52 +0300
committerCorinna Vinschen <corinna@vinschen.de>2009-03-06 12:55:52 +0300
commit6121968b198dcbb93427b0a11453563ebe462bb4 (patch)
tree1b612b73db2b4572c591bf8644021b2407a8f602 /newlib/libc/include/wchar.h
parent6e0e5a4fc20a1de8124c454a5c14c616c68e4653 (diff)
* libc/include/stdio.h (__VALIST): Guard against multiple definition.
* libc/include/wchar.h: Include stdarg.h. (__VALIST): Define conditionally. (fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: Declare. (_fwprintf_r, _swprintf_r, _vfwprintf_r, _vswprintf_r, _vwprintf_r, _wprintf_r): Declare. * libc/stdio/Makefile.am: Add new files. * libc/stdio/Makefile.in: Regenerate. * libc/stdio/fwprintf.c: New file. * libc/stdio/local.h (_svfwprintf_r, _svfiwprintf_r): Declare. (__CH_CLASS, __STATE, __ACTION): Move definition from vfprintf.c here and move to the __ namespace. (__chclass, __state_table, __action_table): Declare. * libc/stdio/stdio.tex: Add new documentation references. * libc/stdio/swprintf.c: New file. * libc/stdio/vfprintf.c (__SPRINT): New macro to call the right __sprint_r function according to compilation unit. Use throughout. (__ssprint_r): Rename STRING_ONLY variant from __sprint_r. Make externaly available. Only define if INTEGER_ONLY is defined. (__sprint_r): Make externaly available. Only define if INTEGER_ONLY is defined. Handle stream orientation. (__sbprintf): Copy FILE's _flags2 member as well. (__chclass, __state_table, __action_table): Prepend __ to name and make externally available. * libc/stdio/vfwprintf.c: New file. * libc/stdio/vswprintf.c: New file. * libc/stdio/vwprintf.c: New file. * libc/stdio/wprintf.c: New file.
Diffstat (limited to 'newlib/libc/include/wchar.h')
-rw-r--r--newlib/libc/include/wchar.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/newlib/libc/include/wchar.h b/newlib/libc/include/wchar.h
index ad905e2bf..37529a97f 100644
--- a/newlib/libc/include/wchar.h
+++ b/newlib/libc/include/wchar.h
@@ -10,6 +10,9 @@
#define __need_wint_t
#include <stddef.h>
+#define __need___va_list
+#include <stdarg.h>
+
/* For _mbstate_t definition. */
#include <sys/_types.h>
@@ -129,6 +132,28 @@ wint_t _EXFUN (_ungetwc_r, (struct _reent *, wint_t wc, __FILE *));
__FILE *_EXFUN (open_wmemstream, (wchar_t **, size_t *));
__FILE *_EXFUN (_open_wmemstream_r, (struct _reent *, wchar_t **, size_t *));
+#ifndef __VALIST
+#ifdef __GNUC__
+#define __VALIST __gnuc_va_list
+#else
+#define __VALIST char*
+#endif
+#endif
+
+int _EXFUN(fwprintf, (__FILE *, const wchar_t *, ...));
+int _EXFUN(swprintf, (wchar_t *, size_t, const wchar_t *, ...));
+int _EXFUN(vfwprintf, (__FILE *, const wchar_t *, __VALIST));
+int _EXFUN(vswprintf, (wchar_t *, size_t, const wchar_t *, __VALIST));
+int _EXFUN(vwprintf, (const wchar_t *, __VALIST));
+int _EXFUN(wprintf, (const wchar_t *, ...));
+
+int _EXFUN(_fwprintf_r, (struct _reent *, __FILE *, const wchar_t *, ...));
+int _EXFUN(_swprintf_r, (struct _reent *, wchar_t *, size_t, const wchar_t *, ...));
+int _EXFUN(_vfwprintf_r, (struct _reent *, __FILE *, const wchar_t *, __VALIST));
+int _EXFUN(_vswprintf_r, (struct _reent *, wchar_t *, size_t, const wchar_t *, __VALIST));
+int _EXFUN(_vwprintf_r, (struct _reent *, const wchar_t *, __VALIST));
+int _EXFUN(_wprintf_r, (struct _reent *, const wchar_t *, ...));
+
#define getwc(fp) fgetwc(fp)
#define putwc(wc,fp) fputwc((wc), (fp))
#ifndef _REENT_ONLY