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

Comparing ray/src/cal/lam.c (file contents):
Revision 1.11 by greg, Fri Jun 18 21:22:49 2010 UTC vs.
Revision 1.12 by greg, Fri Jul 26 16:45:04 2013 UTC

# Line 67 | Line 67 | char   *argv[];
67                                          curbytes = 1;
68                                          break;
69                                  case 'a':
70 <                                        curbytes = argv[i][3] ? 1 : 0;
70 >                                        curbytes = argv[i][3] ? -1 : 0;
71                                          break;
72                                  default:
73                                          goto badopt;
74                                  }
75                                  if (isdigit(argv[i][3]))
76                                          curbytes *= atoi(argv[i]+3);
77 <                                if (curbytes < 0 || curbytes > MAXLINE) {
77 >                                if (abs(curbytes) > MAXLINE) {
78                                          fputs(argv[0], stderr);
79 <                                        fputs(": illegal input size\n", stderr);
79 >                                        fputs(": input size too big\n", stderr);
80                                          exit(1);
81                                  }
82                                  if (curbytes)
# Line 84 | Line 84 | char   *argv[];
84                                  break;
85                          case '\0':
86                                  tabc[nfiles] = curtab;
87 <                                bytsiz[nfiles] = curbytes;
88 <                                input[nfiles++] = stdin;
87 >                                input[nfiles] = stdin;
88 >                                if (curbytes > 0)
89 >                                        SET_FILE_BINARY(input[nfiles]);
90 >                                else
91 >                                        curbytes = -curbytes;
92 >                                bytsiz[nfiles++] = curbytes;
93                                  break;
94                          badopt:;
95                          default:
# Line 95 | Line 99 | char   *argv[];
99                          }
100                  } else if (argv[i][0] == '!') {
101                          tabc[nfiles] = curtab;
98                        bytsiz[nfiles] = curbytes;
102                          if ((input[nfiles] = popen(argv[i]+1, "r")) == NULL) {
103                                  fputs(argv[i], stderr);
104                                  fputs(": cannot start command\n", stderr);
105                                  exit(1);
106                          }
107 <                        if (bytsiz[nfiles])
107 >                        if (curbytes > 0)
108                                  SET_FILE_BINARY(input[nfiles]);
109 <                        ++nfiles;
109 >                        else
110 >                                curbytes = -curbytes;
111 >                        bytsiz[nfiles++] = curbytes;
112                  } else {
113                          tabc[nfiles] = curtab;
109                        bytsiz[nfiles] = curbytes;
114                          if ((input[nfiles] = fopen(argv[i], "r")) == NULL) {
115                                  fputs(argv[i], stderr);
116                                  fputs(": cannot open file\n", stderr);
117                                  exit(1);
118                          }
119 <                        if (bytsiz[nfiles])
119 >                        if (curbytes > 0)
120                                  SET_FILE_BINARY(input[nfiles]);
121 <                        ++nfiles;
121 >                        else
122 >                                curbytes = -curbytes;
123 >                        bytsiz[nfiles++] = curbytes;
124                  }
125                  if (nfiles >= MAXFILE) {
126                          fputs(argv[0], stderr);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines