Lines Matching refs:vp

191 setfval(CELL *vp, awkfloat f)  in setfval()  argument
193 dprintf("setfval: %o %g\n", vp, f, NULL); in setfval()
195 if (vp->tval & ARR) in setfval()
196 error(FATAL, "illegal reference to array %s", vp->nval); in setfval()
197 if ((vp->tval & (NUM | STR)) == 0) in setfval()
198 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in setfval()
199 vp->sval, vp->fval, vp->tval); in setfval()
201 if (vp == recloc) in setfval()
203 vp->tval &= ~STR; /* mark string invalid */ in setfval()
204 vp->tval |= NUM; /* mark number ok */ in setfval()
205 if ((vp->tval & FLD) && vp->nval == 0) { in setfval()
219 if (vp > maxmfld) in setfval()
220 maxmfld = vp; in setfval()
222 return (vp->fval = f); in setfval()
227 setsval(CELL *vp, wchar_t *s) in setsval() argument
229 dprintf("setsval: %o %ws\n", vp, s, NULL); in setsval()
230 if (vp->tval & ARR) in setsval()
231 error(FATAL, "illegal reference to array %ws", vp->nval); in setsval()
232 if ((vp->tval & (NUM | STR)) == 0) in setsval()
233 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in setsval()
234 vp->sval, vp->fval, vp->tval); in setsval()
235 if (vp == recloc) in setsval()
237 vp->tval &= ~NUM; in setsval()
238 vp->tval |= STR; in setsval()
239 if ((vp->tval & FLD) && vp->nval == 0) { in setsval()
244 if (vp > maxmfld) in setsval()
245 maxmfld = vp; in setsval()
247 if (!(vp->tval&FLD)) in setsval()
248 xfree(vp->sval); in setsval()
249 vp->tval &= ~FLD; in setsval()
250 return (vp->sval = tostring(s)); in setsval()
255 getfval(CELL *vp) in getfval() argument
259 if (vp->sval == record && donerec == 0) in getfval()
261 dprintf("getfval: %o", vp, NULL, NULL); in getfval()
262 if (vp->tval & ARR) in getfval()
263 error(FATAL, "illegal reference to array %ws", vp->nval); in getfval()
264 if ((vp->tval & (NUM | STR)) == 0) in getfval()
265 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in getfval()
266 vp->sval, vp->fval, vp->tval); in getfval()
267 if ((vp->tval & NUM) == 0) { in getfval()
272 if (isanumber(vp->sval)) { in getfval()
273 vp->fval = watof(vp->sval); in getfval()
274 if (!(vp->tval & CON)) in getfval()
276 vp->tval |= NUM; in getfval()
279 vp->fval = 0.0; /* not a very good idea */ in getfval()
281 dprintf(" %g\n", vp->fval, NULL, NULL); in getfval()
282 return (vp->fval); in getfval()
287 getsval(CELL *vp) in getsval() argument
293 if (vp->sval == record && donerec == 0) in getsval()
295 dprintf("getsval: %o", vp, NULL, NULL); in getsval()
296 if (vp->tval & ARR) in getsval()
297 error(FATAL, "illegal reference to array %ws", vp->nval); in getsval()
298 if ((vp->tval & (NUM | STR)) == 0) in getsval()
299 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in getsval()
300 vp->sval, vp->fval, vp->tval); in getsval()
301 if ((vp->tval & STR) == 0) { in getsval()
302 if (!(vp->tval&FLD)) in getsval()
303 xfree(vp->sval); in getsval()
304 if ((long long)vp->fval == vp->fval) in getsval()
305 sprintf(s, "%.20g", vp->fval); in getsval()
307 sprintf(s, toeuccode(*OFMT), vp->fval); in getsval()
309 vp->sval = tostring(ws); in getsval()
310 vp->tval &= ~FLD; in getsval()
311 vp->tval |= STR; in getsval()
313 dprintf(" %ws\n", vp->sval, NULL, NULL); in getsval()
314 return (vp->sval); in getsval()