--- ray/src/util/cmatrix.c 2021/01/15 18:31:38 2.31 +++ ray/src/util/cmatrix.c 2021/01/19 23:32:00 2.32 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: cmatrix.c,v 2.31 2021/01/15 18:31:38 greg Exp $"; +static const char RCSid[] = "$Id: cmatrix.c,v 2.32 2021/01/19 23:32:00 greg Exp $"; #endif /* * Color matrix routines. @@ -15,6 +15,8 @@ static const char RCSid[] = "$Id: cmatrix.c,v 2.31 202 #include "paths.h" #include "resolu.h" +const char stdin_name[] = ""; + const char *cm_fmt_id[] = { "unknown", COLRFMT, CIEFMT, "float", "ascii", "double" @@ -212,13 +214,15 @@ CMATRIX * cm_load(const char *inspec, int nrows, int ncols, int dtype) { const int ROWINC = 2048; - FILE *fp = stdin; int swap = 0; + FILE *fp; COLOR scale; CMATRIX *cm; - if (!inspec) - inspec = ""; + if (!inspec || !*inspec) + return(NULL); + if (inspec == stdin_name) + fp = stdin; else if (inspec[0] == '!') { fp = popen(inspec+1, "r"); if (!fp) {