1 /* This file is part of the GNU plotutils package.  Copyright (C) 1995,
2    1996, 1997, 1998, 1999, 2000, 2005, 2008, Free Software Foundation, Inc.
3 
4    The GNU plotutils package is free software.  You may redistribute it
5    and/or modify it under the terms of the GNU General Public License as
6    published by the Free Software foundation; either version 2, or (at your
7    option) any later version.
8 
9    The GNU plotutils package is distributed in the hope that it will be
10    useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License along
15    with the GNU plotutils package; see the file COPYING.  If not, write to
16    the Free Software Foundation, Inc., 51 Franklin St., Fifth Floor,
17    Boston, MA 02110-1301, USA. */
18 
19 /* These are the lowest-level output routines in libplot/libplotter.
20    Plotters that write to output streams use these. */
21 
22 #include "sys-defines.h"
23 #include "extern.h"
24 
25 void
_write_byte(const plPlotterData * data,unsigned char c)26 _write_byte (const plPlotterData *data, unsigned char c)
27 {
28   if (data->outfp)
29     putc ((int)c, data->outfp);
30 #ifdef LIBPLOTTER
31   else if (data->outstream)
32     data->outstream->put (c);
33 #endif
34 }
35 
36 void
_write_bytes(const plPlotterData * data,int n,const unsigned char * c)37 _write_bytes (const plPlotterData *data, int n, const unsigned char *c)
38 {
39   int i;
40 
41   if (data->outfp)
42     {
43       for (i = 0; i < n; i++)
44 	putc ((int)(c[i]), data->outfp);
45     }
46 #ifdef LIBPLOTTER
47   else if (data->outstream)
48     data->outstream->write((const char *)c, n);
49 #endif
50 }
51 
52 void
_write_string(const plPlotterData * data,const char * s)53 _write_string (const plPlotterData *data, const char *s)
54 {
55   if (data->outfp)
56     fputs (s, data->outfp);
57 #ifdef LIBPLOTTER
58   else if (data->outstream)
59     (*(data->outstream)) << s;
60 #endif
61 }
62