ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/oki20.c
(Generate patch)

Comparing ray/src/px/oki20.c (file contents):
Revision 2.8 by greg, Mon Aug 2 14:39:06 1993 UTC vs.
Revision 2.13 by schorsch, Sun Mar 28 20:33:14 2004 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1992 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  oki20.c - program to dump pixel file to OkiMate 20 printer.
6   */
7  
8   #include  <stdio.h>
9 < #ifdef MSDOS
13 < #include  <fcntl.h>
14 < #endif
9 > #include  <time.h>
10  
11 + #include  "platform.h"
12 + #include  "rtprocess.h"
13   #include  "color.h"
14   #include  "resolu.h"
15  
# Line 21 | Line 18 | static char SCCSid[] = "$SunId$ LBL";
18  
19   #define  ASPECT         (120./144.)     /* pixel aspect ratio */
20  
21 < #define  FILTER         "pfilt -1 -x %d -y %d -p %f %s",NCOLS,NROWS,ASPECT
21 > #define  FILTER         "pfilt -1 -x %d -y %d -p %f",NCOLS,NROWS,ASPECT
22 > #define  FILTER_F       "pfilt -1 -x %d -y %d -p %f \"%s\"",NCOLS,NROWS,ASPECT
23  
24   long  lpat[NCOLS];
25  
26   int  dofilter = 0;              /* filter through pfilt first? */
27  
28 < extern FILE  *popen();
28 > static int printp(char  *fname);
29 > static void plotscan(COLR  scan[], int  len, int  y);
30 > static int bit(COLR  col, int  x);
31  
32  
33 < main(argc, argv)
34 < int  argc;
35 < char  *argv[];
33 > int
34 > main(
35 >        int  argc,
36 >        char  *argv[]
37 > )
38   {
39          int  i, status = 0;
40 < #ifdef MSDOS
41 <        extern int  _fmode;
42 <        _fmode = O_BINARY;
41 <        setmode(fileno(stdin), O_BINARY);
42 <        setmode(fileno(stdout), O_BINARY);
43 < #endif
40 >        SET_DEFAULT_BINARY();
41 >        SET_FILE_BINARY(stdin);
42 >        SET_FILE_BINARY(stdout);
43          if (argc > 1 && !strcmp(argv[1], "-p")) {
44                  dofilter++;
45                  argv++; argc--;
# Line 54 | Line 53 | char  *argv[];
53   }
54  
55  
56 < printp(fname)                           /* print a picture */
57 < char  *fname;
56 > static int
57 > printp(                         /* print a picture */
58 >        char  *fname
59 > )
60   {
61 <        char  buf[64];
61 >        char  buf[PATH_MAX];
62          FILE  *input;
63          int  xres, yres;
64          COLR  scanline[NCOLS];
# Line 65 | Line 66 | char  *fname;
66  
67          if (dofilter) {
68                  if (fname == NULL) {
69 <                        sprintf(buf, FILTER, "");
69 >                        sprintf(buf, FILTER);
70                          fname = "<stdin>";
71                  } else
72 <                        sprintf(buf, FILTER, fname);
72 >                        sprintf(buf, FILTER_F, fname);
73                  if ((input = popen(buf, "r")) == NULL) {
74                          fprintf(stderr, "Cannot execute: %s\n", buf);
75                          return(-1);
# Line 117 | Line 118 | char  *fname;
118   }
119  
120  
121 < plotscan(scan, len, y)                  /* plot a scanline */
122 < COLR  scan[];
123 < int  len;
124 < int  y;
121 > static void
122 > plotscan(                       /* plot a scanline */
123 >        COLR  scan[],
124 >        int  len,
125 >        int  y
126 > )
127   {
128          int  bpos, start, end;
129          register long  c;
# Line 167 | Line 170 | int  y;
170   }
171  
172  
173 < bit(col, x)             /* determine bit value for pixel at x */
174 < COLR  col;
175 < register int  x;
173 > static int
174 > bit(            /* determine bit value for pixel at x */
175 >        COLR  col,
176 >        register int  x
177 > )
178   {
179          static int  cerr[NCOLS];
180          static int  err;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines