source: trunk/libs/newlib/src/newlib/libc/stdio/vdiprintf.c @ 543

Last change on this file since 543 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 848 bytes
Line 
1/* Copyright 2005, 2007 Shaun Jackman
2 * Permission to use, copy, modify, and distribute this software
3 * is freely granted, provided that this notice is preserved.
4 */
5/* doc in diprintf.c */
6
7#include <_ansi.h>
8#include <reent.h>
9#include <stdio.h>
10#include <stdlib.h>
11#include <unistd.h>
12#include <stdarg.h>
13#include "local.h"
14
15int
16_vdiprintf_r (struct _reent *ptr,
17       int fd,
18       const char *format,
19       va_list ap)
20{
21  char *p;
22  char buf[512];
23  size_t n = sizeof buf;
24
25  _REENT_SMALL_CHECK_INIT (ptr);
26  p = _vasniprintf_r (ptr, buf, &n, format, ap);
27  if (!p)
28    return -1;
29  n = _write_r (ptr, fd, p, n);
30  if (p != buf)
31    _free_r (ptr, p);
32  return n;
33}
34
35#ifndef _REENT_ONLY
36
37int
38vdiprintf (int fd,
39       const char *format,
40       va_list ap)
41{
42  return _vdiprintf_r (_REENT, fd, format, ap);
43}
44
45#endif /* ! _REENT_ONLY */
Note: See TracBrowser for help on using the repository browser.