--- ray/src/cal/rcalc.c 2006/12/23 17:27:45 1.20 +++ ray/src/cal/rcalc.c 2013/12/19 16:38:12 1.22 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rcalc.c,v 1.20 2006/12/23 17:27:45 greg Exp $"; +static const char RCSid[] = "$Id: rcalc.c,v 1.22 2013/12/19 16:38:12 greg Exp $"; #endif /* * rcalc.c - record calculator program. @@ -8,9 +8,6 @@ static const char RCSid[] = "$Id: rcalc.c,v 1.20 2006/ */ #include -#include -#include -#include #include #include @@ -107,6 +104,7 @@ int argc, char *argv[] ) { + char *fpath; int i; esupport |= E_VARIABLE|E_FUNCTION|E_INCHAN|E_OUTCHAN|E_RCONST; @@ -136,7 +134,15 @@ char *argv[] svpreset(argv[++i]); break; case 'f': - fcompile(argv[++i]); + fpath = getpath(argv[++i], getrlibpath(), 0); + if (fpath == NULL) { + eputs(argv[0]); + eputs(": cannot find file '"); + eputs(argv[i]); + eputs("'\n"); + quit(1); + } + fcompile(fpath); break; case 'e': scompile(argv[++i], NULL, 0); @@ -305,11 +311,12 @@ char *file while (getinputrec(fp)) { varset("recno", '=', (double)++nrecs); + varset("outno", '=', (double)(nout+1)); colflg = 0; eclock++; if (!conditional || varvalue("cond") > 0.0) { - varset("outno", '=', (double)++nout); putout(); + ++nout; } } fclose(fp);