diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-03-06 09:55:52 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-03-06 09:55:52 +0000 |
commit | 6121968b198dcbb93427b0a11453563ebe462bb4 (patch) | |
tree | 1b612b73db2b4572c591bf8644021b2407a8f602 /newlib/libc/include/wchar.h | |
parent | 6e0e5a4fc20a1de8124c454a5c14c616c68e4653 (diff) | |
download | cygnal-6121968b198dcbb93427b0a11453563ebe462bb4.tar.gz cygnal-6121968b198dcbb93427b0a11453563ebe462bb4.tar.bz2 cygnal-6121968b198dcbb93427b0a11453563ebe462bb4.zip |
* 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.h | 25 |
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 |