rem: if (vp-fldtab > *NF) newfld(vp-fldtab); dprintf( ("setting field %d to %g\n", vp-fldtab, f) );
add: i = fldidx(vp); if (i > *NF) newfld(i); dprintf(("setting field %d to %g\n", i, f));
context: Awkfloat setfval(vp, f)	register Cell *vp;	Awkfloat f;{	if ((vp->tval & (NUM | STR)) == 0) 		funnyvar(vp, "assign to");	if (vp->tval & FLD) {		donerec = 0;	/* mark $0 invalid */		if (vp-fldtab > *NF)			newfld(vp-fldtab);		dprintf( ("setting field %d to %g\n", vp-fldtab, f) );	} else if (vp->tval & REC) {		donefld = 0;	/* mark $1... invalid */		donerec = 1;	}	vp->tval &= ~STR;	/* mark string invalid */	vp->tval |= NUM;	/* mark number ok */	dprintf( ("setfval %p: %s = %g, t=%o\n", vp,		vp->nval ? vp->nval : (unsigned char *)"NULL",		f, vp->tval) );	return vp->fval = f;}