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

Comparing ray/src/px/ra_rgbe.c (file contents):
Revision 2.10 by greg, Sat Feb 22 02:07:28 2003 UTC vs.
Revision 2.21 by greg, Sat Dec 28 18:05:14 2019 UTC

# Line 5 | Line 5 | static const char      RCSid[] = "$Id$";
5   *  program to convert from RADIANCE RLE to flat format
6   */
7  
8 #include  <stdio.h>
8   #include  <math.h>
9 < #include  <time.h>
9 >
10 > #include  "platform.h"
11 > #include  "rtio.h"
12 > #include  "paths.h"
13   #include  "color.h"
14   #include  "resolu.h"
15  
16 < #ifdef MSDOS
15 < #include  <fcntl.h>
16 < #endif
16 > #define dumpheader(fp)  putbinary(headlines, 1, headlen, fp)
17  
18 extern int      addhline();
19
20 #define dumpheader(fp)  fwrite(headlines, 1, headlen, fp)
21
18   int  bradj = 0;                         /* brightness adjustment */
23
19   int  doflat = 1;                        /* produce flat file */
25
20   int  force = 0;                         /* force file overwrite? */
27
21   int  findframe = 0;                     /* find a specific frame? */
29
22   int  frameno = 0;                       /* current frame number */
23   int  fmterr = 0;                        /* got input format error */
24   char  *headlines;                       /* current header info. */
# Line 34 | Line 26 | int  headlen;                          /* current header length */
26  
27   char  *progname;
28  
29 + static gethfunc addhline;
30 + static int transfer(char *ospec);
31 + static int loadheader(FILE *fp);
32  
33 < main(argc, argv)
34 < int  argc;
35 < char  *argv[];
33 >
34 > int
35 > main(int  argc, char  *argv[])
36   {
37          char    *ospec;
38          int  i;
# Line 77 | Line 72 | gotfile:
72                                  progname, argv[i]);
73                  exit(1);
74          }
75 < #ifdef MSDOS
81 <        setmode(fileno(stdin), O_BINARY);
82 < #endif
75 >        SET_FILE_BINARY(stdin);
76          ospec = i==argc-2 ? argv[i+1] : (char *)NULL;
77          while (transfer(ospec))
78                  ;
# Line 92 | Line 85 | userr:
85   }
86  
87  
88 < transfer(ospec)                 /* transfer a Radiance picture */
89 < char    *ospec;
88 > static int
89 > transfer(                       /* transfer a Radiance picture */
90 >        char    *ospec
91 > )
92   {
93 <        char    oname[128];
93 >        char    oname[PATH_MAX];
94          FILE    *fp;
95          int     order;
96          int     xmax, ymax;
# Line 154 | Line 149 | char   *ospec;
149                          }
150                  }
151          }
152 < #ifdef MSDOS
158 <        setmode(fileno(fp), O_BINARY);
159 < #endif
152 >        SET_FILE_BINARY(fp);
153          dumpheader(fp);                 /* put out header */
154          fputs(progname, fp);
155          if (bradj)
# Line 178 | Line 171 | char   *ospec;
171                  if (bradj)
172                          shiftcolrs(scanin, xmax, bradj);
173                  if (doflat)
174 <                        fwrite((char *)scanin, sizeof(COLR), xmax, fp);
174 >                        putbinary((char *)scanin, sizeof(COLR), xmax, fp);
175                  else
176                          fwritecolrs(scanin, xmax, fp);
177                  if (ferror(fp)) {
# Line 196 | Line 189 | char   *ospec;
189   }
190  
191  
192 < int
193 < addhline(s)                     /* add a line to our info. header */
194 < char    *s;
192 > static int
193 > addhline(                       /* add a line to our info. header */
194 >        char    *s,
195 >        void    *p
196 > )
197   {
198 <        char    fmt[32];
198 >        char    fmt[MAXFMTLEN];
199          int     n;
200  
201          if (formatval(fmt, s))
# Line 209 | Line 204 | char   *s;
204                  frameno = atoi(s+6);
205          n = strlen(s);
206          if (headlen)
207 <                headlines = (char *)realloc(headlines, headlen+n+1);
207 >                headlines = (char *)realloc((void *)headlines, headlen+n+1);
208          else
209                  headlines = (char *)malloc(n+1);
210          if (headlines == NULL) {
# Line 222 | Line 217 | char   *s;
217   }
218  
219  
220 < loadheader(fp)                  /* load an info. header into memory */
221 < FILE    *fp;
220 > static int
221 > loadheader(                     /* load an info. header into memory */
222 >        FILE    *fp
223 > )
224   {
225          fmterr = 0; frameno = 0;
226          if (headlen) {                  /* free old header */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines