1 /* -------------------------------------------------------------------- */
2 /* */
3 /* */
4 /* */
5 /* Copyright (C) 2000 Angelo Masci */
6 /* */
7 /* This program is free software; you can redistribute it and/or modify */
8 /* it under the terms of the GNU General Public License as published by */
9 /* the Free Software Foundation; either version 2 of the License, or */
10 /* (at your option) any later version. */
11 /* */
12 /* This program is distributed in the hope that it will be useful, */
13 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
14 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
15 /* GNU General Public License for more details. */
16 /* */
17 /* You should have received a copy of the GNU General Public License */
18 /* along with this program; if not, write to the Free Software */
19 /* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
20 /* */
21 /* You can contact the author at this e-mail address: */
22 /* */
23 /* angelo@styx.demon.co.uk */
24 /* */
25 /* --------------------------------------------------------------------
26 $Id$
27 -------------------------------------------------------------------- */
28
29 #include <stdarg.h>
30 #include <stdio.h>
31
32 #include "common.h"
33 #include "format.h"
34
35 /* -------------------------------------------------------------------- */
36 /* -------------------------------------------------------------------- */
copytoout(void * cfarg,char * str,int len)37 static int copytoout(void *cfarg, char *str, int len)
38 {
39 int n;
40
41
42 /* It would be more efficient here to place */
43 /* characters into a buffer and use puts() */
44 /* when we fill the buffer. */
45
46 n = len;
47 while (n--)
48 {
49 putc(*str, (FILE *)cfarg);
50 str++;
51 }
52
53 return len;
54 }
55
56 /* -------------------------------------------------------------------- */
57 /* -------------------------------------------------------------------- */
libcommon_vfprintf(FILE * fp,char * fmt,va_list args)58 int libcommon_vfprintf(FILE *fp, char *fmt, va_list args)
59 {
60 return format(copytoout, NULL, fp, fmt, args);
61 }
62
63
64