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

Comparing ray/src/px/pflip.c (file contents):
Revision 2.4 by greg, Mon Oct 16 11:40:11 1995 UTC vs.
Revision 2.12 by greg, Fri Jul 19 17:37:56 2019 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   * flip picture file horizontally and/or vertically
6   */
7  
8 < #include <stdio.h>
9 <
13 < #ifdef MSDOS
14 < #include  <fcntl.h>
15 < #endif
16 <
8 > #include "rtio.h"
9 > #include "platform.h"
10   #include "color.h"
18
11   #include "resolu.h"
12  
13   int     order;                          /* input orientation */
# Line 31 | Line 23 | FILE   *fin;                           /* input file */
23  
24   char    *progname;
25  
34 extern char     *malloc();
26  
27 + static void memerr(void);
28 + static void scanfile(void);
29 + static void flip(void);
30  
31 < int
32 < neworder()                      /* figure out new order from old */
31 >
32 > static int
33 > neworder(void)                  /* figure out new order from old */
34   {
35          register int  no;
36  
# Line 51 | Line 46 | neworder()                     /* figure out new order from old */
46          return(no);
47   }
48  
49 <
50 < main(argc, argv)
51 < int     argc;
52 < char    *argv[];
49 > int
50 > main(
51 >        int     argc,
52 >        char    *argv[]
53 > )
54   {
55 <        static char     picfmt[LPICFMT+1] = PICFMT;
55 >        static char     picfmt[MAXFMTLEN] = PICFMT;
56          int     i, rval;
57 < #ifdef MSDOS
58 <        extern int  _fmode;
63 <        _fmode = O_BINARY;
64 <        setmode(fileno(stdout), O_BINARY);
65 < #endif
57 >        SET_DEFAULT_BINARY();
58 >        SET_FILE_BINARY(stdout);
59          progname = argv[0];
60  
61          for (i = 1; i < argc; i++)
# Line 74 | Line 67 | char   *argv[];
67                          correctorder++;
68                  else
69                          break;
70 +        if (i < argc-2)
71 +                goto userr;
72 +        if (!fhoriz && !fvert)
73 +                fprintf(stderr, "%s: warning - no operation\n", argv[0]);
74          if (i >= argc || argv[i][0] == '-') {
75 <                fprintf(stderr, "Usage: %s [-h][-v][-c] infile [outfile]\n",
76 <                                progname);
75 >                if (fvert)
76 >                        goto userr;
77 >                SET_FILE_BINARY(stdin);
78 >                fin = stdin;
79 >        } else if ((fin = fopen(argv[i], "r")) == NULL) {
80 >                fprintf(stderr, "%s: cannot open\n", argv[i]);
81                  exit(1);
82          }
82        if ((fin = fopen(argv[i], "r")) == NULL) {
83                fprintf(stderr, "%s: cannot open\n", argv[1]);
84                exit(1);
85        }
83          if (i < argc-1 && freopen(argv[i+1], "w", stdout) == NULL) {
84                  fprintf(stderr, "%s: cannot open\n", argv[i+1]);
85                  exit(1);
# Line 110 | Line 107 | char   *argv[];
107                  scanfile();
108          flip();                         /* flip the image */
109          exit(0);
110 + userr:
111 +        fprintf(stderr, "Usage: %s [-h][-v][-c] infile [outfile]\n",
112 +                        progname);
113 +        exit(1);
114   }
115  
116  
117 < memerr()
117 > static void
118 > memerr(void)
119   {
120          fprintf(stderr, "%s: out of memory\n", progname);
121          exit(1);
122   }
123  
124  
125 < scanfile()                              /* scan to the end of file */
125 > static void
126 > scanfile(void)                          /* scan to the end of file */
127   {
128          extern long     ftell();
129          COLR    *scanin;
# Line 138 | Line 141 | scanfile()                             /* scan to the end of file */
141                  }
142          }
143          scanpos[0] = ftell(fin);
144 <        free((char *)scanin);
144 >        free((void *)scanin);
145   }
146  
147  
148 < flip()                                  /* flip the picture */
148 > static void
149 > flip(void)                                      /* flip the picture */
150   {
151          COLR    *scanin, *scanout;
152          int     y;
# Line 172 | Line 176 | flip()                                 /* flip the picture */
176                          exit(1);
177                  }
178          }
179 <        free((char *)scanin);
179 >        free((void *)scanin);
180          if (fhoriz)
181 <                free((char *)scanout);
181 >                free((void *)scanout);
182   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines