rem: if ((long long)vp->fval == vp->fval) sprintf((char *)s, "%.20g", vp->fval); else sprintf((char *)s, (char *)*OFMT, vp->fval);
add: if ((long long)vp->fval == vp->fval) { (void) snprintf((char *)s, sizeof (s), "%.20g", vp->fval); } else {  (void) snprintf((char *)s, sizeof (s), (char *)*OFMT, vp->fval); }
context: uchar *r_getsval(vp)register Cell *vp;{	uchar s[100];	/* if (vp->tval & ARR)		ERROR "illegal reference to array %s", vp->nval FATAL;		return ""; */	if ((vp->tval & (NUM | STR)) == 0)		funnyvar(vp, "read value of");	if ((vp->tval & FLD) && donefld == 0)		fldbld();	else if ((vp->tval & REC) && donerec == 0)		recbld();	if ((vp->tval & STR) == 0) {		if (!(vp->tval&DONTFREE))			xfree(vp->sval);		if ((long long)vp->fval == vp->fval)			sprintf((char *)s, "%.20g", vp->fval);		else			sprintf((char *)s, (char *)*OFMT, vp->fval);		vp->sval = tostring(s);		vp->tval &= ~DONTFREE;		vp->tval |= STR;	}	dprintf( ("getsval %p: %s = \"%s\", t=%o\n", vp, vp->nval, vp->sval, vp->tval) );	return(vp->sval);}