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

Comparing ray/src/util/cmatrix.c (file contents):
Revision 2.34 by greg, Fri Mar 11 17:15:42 2022 UTC vs.
Revision 2.36 by greg, Sun Dec 4 16:58:08 2022 UTC

# Line 214 | Line 214 | CMATRIX *
214   cm_load(const char *inspec, int nrows, int ncols, int dtype)
215   {
216          const int       ROWINC = 2048;
217 +        int             dimsOK = (dtype == DTascii) | (nrows > 0) && ncols;
218          int             swap = 0;
219          FILE            *fp;
220          COLOR           scale;
# Line 240 | Line 241 | cm_load(const char *inspec, int nrows, int ncols, int
241   #endif
242          if (dtype != DTascii)
243                  SET_FILE_BINARY(fp);            /* doesn't really work */
244 <        if (!dtype | !nrows | !ncols) {         /* expecting header? */
244 >        if (!dtype | !dimsOK) {                 /* expecting header? */
245                  char    *err = cm_getheader(&dtype, &nrows, &ncols, &swap, scale, fp);
246                  if (err)
247                          error(USER, err);
248 +                dimsOK = ncols > 0 && ( nrows > 0 ||
249 +                                (dtype != DTrgbe) & (dtype != DTxyze) );
250          }
251 <        if (!nrows | !ncols && !fscnresolu(&ncols, &nrows, fp))
251 >        if (!dimsOK && !fscnresolu(&ncols, &nrows, fp))
252                  error(USER, "unspecified matrix size");
253          switch (dtype) {
254          case DTascii:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines