From 6121968b198dcbb93427b0a11453563ebe462bb4 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 6 Mar 2009 09:55:52 +0000 Subject: * 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. --- newlib/libc/stdio/vwprintf.c | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 newlib/libc/stdio/vwprintf.c (limited to 'newlib/libc/stdio/vwprintf.c') diff --git a/newlib/libc/stdio/vwprintf.c b/newlib/libc/stdio/vwprintf.c new file mode 100644 index 000000000..ce28fdabb --- /dev/null +++ b/newlib/libc/stdio/vwprintf.c @@ -0,0 +1,47 @@ +/* + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + */ +/* doc in vfwprintf.c */ + +#include <_ansi.h> +#include +#include +#include +#include +#include "local.h" + +#ifndef _REENT_ONLY + +int +_DEFUN(vwprintf, (fmt, ap), + _CONST wchar_t *fmt _AND + va_list ap) +{ + _REENT_SMALL_CHECK_INIT (_REENT); + return _vfwprintf_r (_REENT, _stdout_r (_REENT), fmt, ap); +} + +#endif /* !_REENT_ONLY */ + +int +_DEFUN(_vwprintf_r, (ptr, fmt, ap), + struct _reent *ptr _AND + _CONST wchar_t *fmt _AND + va_list ap) +{ + _REENT_SMALL_CHECK_INIT (ptr); + return _vfwprintf_r (ptr, _stdout_r (ptr), fmt, ap); +} -- cgit v1.2.3