--- ray/src/px/ra_bn.c 1991/08/07 08:36:29 1.8 +++ ray/src/px/ra_bn.c 2004/03/28 20:33:14 2.9 @@ -1,9 +1,6 @@ -/* Copyright (c) 1991 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: ra_bn.c,v 2.9 2004/03/28 20:33:14 schorsch Exp $"; #endif - /* * ra_bn.c - program to convert between RADIANCE and barneyscan picture format. * @@ -11,38 +8,47 @@ static char SCCSid[] = "$SunId$ LBL"; */ #include +#include +#include +#include +#include "platform.h" #include "color.h" +#include "resolu.h" -extern double atof(), pow(); - -double gamma = 2.0; /* gamma correction */ - +double gamcor = 2.0; /* gamma correction */ int bradj = 0; /* brightness adjustment */ - char *progname; - char errmsg[128]; - FILE *rafp, *bnfp[3]; - int xmax, ymax; +static void quiterr(char *err); +static int openbarney(char *fname, char *mode); +static int getint(FILE *fp); +static void putint(int val, FILE *fp); +static void ra2bn(void); +static void bn2ra(void); -main(argc, argv) -int argc; -char *argv[]; + +int +main( + int argc, + char *argv[] +) { int reverse = 0; int i; - + SET_DEFAULT_BINARY(); + SET_FILE_BINARY(stdin); + SET_FILE_BINARY(stdout); progname = argv[0]; for (i = 1; i < argc; i++) if (argv[i][0] == '-') switch (argv[i][1]) { case 'g': - gamma = atof(argv[++i]); + gamcor = atof(argv[++i]); break; case 'r': reverse = !reverse; @@ -58,7 +64,7 @@ char *argv[]; else break; /* set gamma correction */ - setcolrgam(gamma); + setcolrgam(gamcor); if (reverse) { if (i > argc-1 || i < argc-2) @@ -75,10 +81,11 @@ char *argv[]; quiterr(errmsg); } /* put header */ + newheader("RADIANCE", stdout); printargs(i, argv, rafp); fputformat(COLRFMT, rafp); putc('\n', rafp); - fputresolu(YMAJOR|YDECR, xmax, ymax, rafp); + fprtresolu(xmax, ymax, rafp); /* convert file */ bn2ra(); } else { @@ -93,7 +100,7 @@ char *argv[]; } /* get header */ if (checkheader(rafp, COLRFMT, NULL) < 0 || - fgetresolu(&xmax, &ymax, rafp) != (YMAJOR|YDECR)) + fgetresolu(&xmax, &ymax, rafp) < 0) quiterr("bad RADIANCE format"); if (openbarney(argv[i+1], "w") < 0) { sprintf(errmsg, "cannot open output \"%s\"", argv[i+1]); @@ -112,8 +119,10 @@ userr: } -quiterr(err) /* print message and exit */ -char *err; +static void +quiterr( /* print message and exit */ + char *err +) { if (err != NULL) { fprintf(stderr, "%s: %s\n", progname, err); @@ -123,9 +132,11 @@ char *err; } -openbarney(fname, mode) /* open barneyscan files */ -char *fname; -char *mode; +static int +openbarney( /* open barneyscan files */ + char *fname, + char *mode +) { static char suffix[3][4] = {"red", "grn", "blu"}; int i; @@ -152,9 +163,10 @@ char *mode; } -int -getint(fp) /* get short int from barneyscan file */ -register FILE *fp; +static int +getint( /* get short int from barneyscan file */ + register FILE *fp +) { register short val; @@ -165,16 +177,19 @@ register FILE *fp; } -putint(val, fp) /* put short int to barneyscan file */ -register int val; -register FILE *fp; +static void +putint( /* put short int to barneyscan file */ + register int val, + register FILE *fp +) { putc(val&0xff, fp); putc((val >> 8)&0xff, fp); } -ra2bn() /* convert radiance to barneyscan */ +static void +ra2bn(void) /* convert radiance to barneyscan */ { register int i; register COLR *inl; @@ -196,11 +211,12 @@ ra2bn() /* convert radiance to barneyscan */ if (ferror(bnfp[0]) || ferror(bnfp[1]) || ferror(bnfp[2])) quiterr("error writing Barney files"); } - free((char *)inl); + free((void *)inl); } -bn2ra() /* convert barneyscan to radiance */ +static void +bn2ra(void) /* convert barneyscan to radiance */ { register int i; register COLR *outline; @@ -222,5 +238,5 @@ bn2ra() /* convert barneyscan to radiance */ if (fwritecolrs(outline, xmax, rafp) < 0) quiterr("error writing RADIANCE file"); } - free((char *)outline); + free((void *)outline); }