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.21 by greg, Fri Jul 5 00:46:23 2019 UTC vs.
Revision 1.22 by greg, Fri Jul 5 15:04:20 2019 UTC

# Line 145 | Line 145 | main(int argc, char *argv[])
145                          if (bytsiz[i] > 0) {            /* binary input */
146                                  if (getbinary(buf, bytsiz[i], 1, input[i]) < 1)
147                                          break;
148 <                                putbinary(buf, bytsiz[i], 1, stdout);
148 >                                if (putbinary(buf, bytsiz[i], 1, stdout) != 1)
149 >                                        break;
150                          } else if (bytsiz[i] < 0) {     /* multi-line input */
151                                  int     n = -bytsiz[i];
152                                  while (n--) {
# Line 154 | Line 155 | main(int argc, char *argv[])
155                                          if ((i > 0) | (n < -bytsiz[i]-1))
156                                                  fputs(tabc[i], stdout);
157                                          buf[strlen(buf)-1] = '\0';
158 <                                        fputs(buf, stdout);
158 >                                        if (fputs(buf, stdout) == EOF)
159 >                                                break;
160                                  }
161                                  if (n >= 0)             /* fell short? */
162                                          break;
# Line 164 | Line 166 | main(int argc, char *argv[])
166                                  if (i)
167                                          fputs(tabc[i], stdout);
168                                  buf[strlen(buf)-1] = '\0';
169 <                                fputs(buf, stdout);
169 >                                if (fputs(buf, stdout) == EOF)
170 >                                        break;
171                          }
172                  }
173                  if (i < nfiles)
# Line 175 | Line 178 | main(int argc, char *argv[])
178                          fflush(stdout);
179          } while (--incnt);
180                                                          /* check ending */
181 +        if (fflush(stdout) == EOF) {
182 +                fputs(argv[0], stderr);
183 +                fputs(": write error on standard output\n", stderr);
184 +                return(1);
185 +        }
186          if (incnt > 0) {
187                  fputs(argv[0], stderr);
188                  fputs(": warning: premature EOD\n", stderr);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines