File: vsprintf.c

package info (click to toggle)
oleo 1.6-15
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,604 kB
  • ctags: 3,112
  • sloc: ansic: 38,916; yacc: 1,737; sh: 343; makefile: 83
file content (46 lines) | stat: -rw-r--r-- 1,157 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*	Copyright (C) 1993 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */


#include <stdio.h>
#include <varargs.h>
#include "sysdef.h"

#ifdef __STDC__
#undef NULL
#endif

int
vsprintf (into, s, ap)
     char *into;
     const char *s;
     va_list ap;
{
  int ret;
  auto FILE f;

  f._cnt = 32767;
  f._ptr = into;
  /* I am dubious of this hack for the RS/6000. */
#ifdef _IOSTRG
  f._flag = _IOWRT + _IOSTRG;
#else	
  f._flag = _IOWRT;
#endif
  ret = _doprnt (s, ap, &f);
  *f._ptr = 0;
  return (ret);
}