Cygwin: mmap: allow remapping part of an existing anonymous mapping
[newlib-cygwin.git] / newlib / libc / stdio / printf.c
blob3a07164186635bf0acb2ae7f0d98f99aaa425ded
1 /*
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * and/or other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 /* doc in sprintf.c */
19 #include <_ansi.h>
20 #include <reent.h>
21 #include <stdio.h>
22 #include <stdarg.h>
23 #include "local.h"
25 int
26 _printf_r (struct _reent *ptr,
27 const char *__restrict fmt, ...)
29 int ret;
30 va_list ap;
32 _REENT_SMALL_CHECK_INIT (ptr);
33 va_start (ap, fmt);
34 ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
35 va_end (ap);
36 return ret;
39 #ifdef _NANO_FORMATTED_IO
40 int
41 _iprintf_r (struct _reent *, const char *, ...)
42 _ATTRIBUTE ((__alias__("_printf_r")));
43 #endif
45 #ifndef _REENT_ONLY
47 int
48 printf (const char *__restrict fmt, ...)
50 int ret;
51 va_list ap;
52 struct _reent *ptr = _REENT;
54 _REENT_SMALL_CHECK_INIT (ptr);
55 va_start (ap, fmt);
56 ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
57 va_end (ap);
58 return ret;
61 #ifdef _NANO_FORMATTED_IO
62 int
63 iprintf (const char *, ...)
64 _ATTRIBUTE ((__alias__("printf")));
65 #endif
66 #endif /* ! _REENT_ONLY */