--- ray/src/rt/p_data.c 1989/02/02 10:41:33 1.1 +++ ray/src/rt/p_data.c 1991/08/08 11:30:04 1.5 @@ -1,4 +1,4 @@ -/* Copyright (c) 1986 Regents of the University of California */ +/* Copyright (c) 1991 Regents of the University of California */ #ifndef lint static char SCCSid[] = "$SunId$ LBL"; @@ -66,17 +66,16 @@ RAY *r; if (m->oargs.nsargs < 4) objerror(m, USER, "bad # arguments"); - if (!vardefined(sa[3])) - loadfunc(sa[2]); + funcfile(sa[2]); + errno = 0; for (nv = 0; nv+3 < m->oargs.nsargs && sa[nv+3][0] != '-'; nv++) { if (nv >= MAXDIM) goto dimerr; - errno = 0; pt[nv] = varvalue(sa[nv+3]); - if (errno) - goto computerr; } + if (errno) + goto computerr; dp = getdata(sa[1]); if (dp->nd != nv) goto dimerr; @@ -116,8 +115,7 @@ RAY *r; if (m->oargs.nsargs < 8) objerror(m, USER, "bad # arguments"); - if (!vardefined(sa[7])) - loadfunc(sa[6]); + funcfile(sa[6]); for (nv = 0; nv+7 < m->oargs.nsargs && sa[nv+7][0] != '-'; nv++) { if (nv >= MAXDIM) @@ -170,14 +168,12 @@ RAY *r; if (m->oargs.nsargs < 7) objerror(m, USER, "bad # arguments"); - if (!vardefined(sa[5])) - loadfunc(sa[4]); - for (i = 0; i < 2; i++) { - errno = 0; - pt[i] = varvalue(sa[i+5]); - if (errno) - goto computerr; - } + funcfile(sa[4]); + errno = 0; + pt[1] = varvalue(sa[5]); /* y major ordering */ + pt[0] = varvalue(sa[6]); + if (errno) + goto computerr; dp = getpict(sa[3]); for (i = 0; i < 3; i++) col[i] = datavalue(dp+i, pt);