Lines Matching refs:vp
193 setfval(CELL *vp, awkfloat f) in setfval() argument
195 dprintf("setfval: %o %g\n", vp, f, NULL); in setfval()
197 if (vp->tval & ARR) in setfval()
198 error(FATAL, "illegal reference to array %s", vp->nval); in setfval()
199 if ((vp->tval & (NUM | STR)) == 0) in setfval()
200 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in setfval()
201 vp->sval, vp->fval, vp->tval); in setfval()
203 if (vp == recloc) in setfval()
205 vp->tval &= ~STR; /* mark string invalid */ in setfval()
206 vp->tval |= NUM; /* mark number ok */ in setfval()
207 if ((vp->tval & FLD) && vp->nval == 0) { in setfval()
221 if (vp > maxmfld) in setfval()
222 maxmfld = vp; in setfval()
224 return (vp->fval = f); in setfval()
229 setsval(CELL *vp, wchar_t *s) in setsval() argument
231 dprintf("setsval: %o %ws\n", vp, s, NULL); in setsval()
232 if (vp->tval & ARR) in setsval()
233 error(FATAL, "illegal reference to array %ws", vp->nval); in setsval()
234 if ((vp->tval & (NUM | STR)) == 0) in setsval()
235 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in setsval()
236 vp->sval, vp->fval, vp->tval); in setsval()
237 if (vp == recloc) in setsval()
239 vp->tval &= ~NUM; in setsval()
240 vp->tval |= STR; in setsval()
241 if ((vp->tval & FLD) && vp->nval == 0) { in setsval()
246 if (vp > maxmfld) in setsval()
247 maxmfld = vp; in setsval()
249 if (!(vp->tval&FLD)) in setsval()
250 xfree(vp->sval); in setsval()
251 vp->tval &= ~FLD; in setsval()
252 return (vp->sval = tostring(s)); in setsval()
257 getfval(CELL *vp) in getfval() argument
261 if (vp->sval == record && donerec == 0) in getfval()
263 dprintf("getfval: %o", vp, NULL, NULL); in getfval()
264 if (vp->tval & ARR) in getfval()
265 error(FATAL, "illegal reference to array %ws", vp->nval); in getfval()
266 if ((vp->tval & (NUM | STR)) == 0) in getfval()
267 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in getfval()
268 vp->sval, vp->fval, vp->tval); in getfval()
269 if ((vp->tval & NUM) == 0) { in getfval()
274 if (isanumber(vp->sval)) { in getfval()
275 vp->fval = watof(vp->sval); in getfval()
276 if (!(vp->tval & CON)) in getfval()
278 vp->tval |= NUM; in getfval()
281 vp->fval = 0.0; /* not a very good idea */ in getfval()
283 dprintf(" %g\n", vp->fval, NULL, NULL); in getfval()
284 return (vp->fval); in getfval()
289 getsval(CELL *vp) in getsval() argument
295 if (vp->sval == record && donerec == 0) in getsval()
297 dprintf("getsval: %o", vp, NULL, NULL); in getsval()
298 if (vp->tval & ARR) in getsval()
299 error(FATAL, "illegal reference to array %ws", vp->nval); in getsval()
300 if ((vp->tval & (NUM | STR)) == 0) in getsval()
301 error(FATAL, "funny variable %o: %ws %ws %g %o", vp, vp->nval, in getsval()
302 vp->sval, vp->fval, vp->tval); in getsval()
303 if ((vp->tval & STR) == 0) { in getsval()
304 if (!(vp->tval&FLD)) in getsval()
305 xfree(vp->sval); in getsval()
306 if ((long long)vp->fval == vp->fval) in getsval()
307 sprintf(s, "%.20g", vp->fval); in getsval()
309 sprintf(s, toeuccode(*OFMT), vp->fval); in getsval()
311 vp->sval = tostring(ws); in getsval()
312 vp->tval &= ~FLD; in getsval()
313 vp->tval |= STR; in getsval()
315 dprintf(" %ws\n", vp->sval, NULL, NULL); in getsval()
316 return (vp->sval); in getsval()