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 1.5 by greg, Mon Nov 11 14:02:02 1991 UTC vs.
Revision 2.7 by schorsch, Thu Jul 3 22:41:44 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1991 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 + #include  <time.h>
10 + #include  <string.h>
11  
12 + #include "platform.h"
13   #include "color.h"
14
14   #include "resolu.h"
15  
16   int     order;                          /* input orientation */
# Line 50 | Line 49 | main(argc, argv)
49   int     argc;
50   char    *argv[];
51   {
52 <        int     i;
53 <
52 >        static char     picfmt[LPICFMT+1] = PICFMT;
53 >        int     i, rval;
54 >        SET_DEFAULT_BINARY();
55 >        SET_FILE_BINARY(stdout);
56          progname = argv[0];
57  
58          for (i = 1; i < argc; i++)
# Line 77 | Line 78 | char   *argv[];
78                  exit(1);
79          }
80                                          /* transfer header */
81 <        if (checkheader(fin, COLRFMT, stdout) < 0) {
81 >        if ((rval = checkheader(fin, picfmt, stdout)) < 0) {
82                  fprintf(stderr, "%s: input not a Radiance picture\n",
83                                  progname);
84                  exit(1);
85          }
86 +        if (rval)
87 +                fputformat(picfmt, stdout);
88                                          /* add new header info. */
89          printargs(i, argv, stdout);
87        fputformat(COLRFMT, stdout);
90          putchar('\n');
91                                          /* get picture size */
92          if ((order = fgetresolu(&xres, &yres, fin)) < 0) {
# Line 118 | Line 120 | scanfile()                             /* scan to the end of file */
120                  memerr();
121          if ((scanin = (COLR *)malloc(xres*sizeof(COLR))) == NULL)
122                  memerr();
123 <        for (y = yres-1; y >= 0; y--) {
123 >        for (y = yres-1; y > 0; y--) {
124                  scanpos[y] = ftell(fin);
125                  if (freadcolrs(scanin, xres, fin) < 0) {
126                          fprintf(stderr, "%s: read error\n", progname);
127                          exit(1);
128                  }
129          }
130 <        free((char *)scanin);
130 >        scanpos[0] = ftell(fin);
131 >        free((void *)scanin);
132   }
133  
134  
# Line 159 | Line 162 | flip()                                 /* flip the picture */
162                          exit(1);
163                  }
164          }
165 <        free((char *)scanin);
166 <        free((char *)scanout);
165 >        free((void *)scanin);
166 >        if (fhoriz)
167 >                free((void *)scanout);
168   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines