version 1.23, 2020/06/10 21:03:36 |
version 1.24, 2020/06/10 21:03:56 |
|
|
if ((vp->tval & (NUM | STR)) == 0) |
if ((vp->tval & (NUM | STR)) == 0) |
funnyvar(vp, "assign to"); |
funnyvar(vp, "assign to"); |
if (isfld(vp)) { |
if (isfld(vp)) { |
donerec = 0; /* mark $0 invalid */ |
donerec = false; /* mark $0 invalid */ |
fldno = atoi(vp->nval); |
fldno = atoi(vp->nval); |
if (fldno > *NF) |
if (fldno > *NF) |
newfld(fldno); |
newfld(fldno); |
DPRINTF( ("setting field %d to %g\n", fldno, f) ); |
DPRINTF( ("setting field %d to %g\n", fldno, f) ); |
} else if (&vp->fval == NF) { |
} else if (&vp->fval == NF) { |
donerec = 0; /* mark $0 invalid */ |
donerec = false; /* mark $0 invalid */ |
setlastfld(f); |
setlastfld(f); |
DPRINTF( ("setting NF to %g\n", f) ); |
DPRINTF( ("setting NF to %g\n", f) ); |
} else if (isrec(vp)) { |
} else if (isrec(vp)) { |
donefld = 0; /* mark $1... invalid */ |
donefld = false; /* mark $1... invalid */ |
donerec = 1; |
donerec = true; |
savefs(); |
savefs(); |
} else if (vp == ofsloc) { |
} else if (vp == ofsloc) { |
if (donerec == 0) |
if (!donerec) |
recbld(); |
recbld(); |
} |
} |
if (freeable(vp)) |
if (freeable(vp)) |
|
|
if ((vp->tval & (NUM | STR)) == 0) |
if ((vp->tval & (NUM | STR)) == 0) |
funnyvar(vp, "assign to"); |
funnyvar(vp, "assign to"); |
if (isfld(vp)) { |
if (isfld(vp)) { |
donerec = 0; /* mark $0 invalid */ |
donerec = false; /* mark $0 invalid */ |
fldno = atoi(vp->nval); |
fldno = atoi(vp->nval); |
if (fldno > *NF) |
if (fldno > *NF) |
newfld(fldno); |
newfld(fldno); |
DPRINTF( ("setting field %d to %s (%p)\n", fldno, s, s) ); |
DPRINTF( ("setting field %d to %s (%p)\n", fldno, s, s) ); |
} else if (isrec(vp)) { |
} else if (isrec(vp)) { |
donefld = 0; /* mark $1... invalid */ |
donefld = false; /* mark $1... invalid */ |
donerec = 1; |
donerec = true; |
savefs(); |
savefs(); |
} else if (vp == ofsloc) { |
} else if (vp == ofsloc) { |
if (donerec == 0) |
if (!donerec) |
recbld(); |
recbld(); |
} |
} |
t = s ? tostring(s) : tostring(""); /* in case it's self-assign */ |
t = s ? tostring(s) : tostring(""); /* in case it's self-assign */ |
|
|
(void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld) ); |
(void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld) ); |
vp->sval = t; |
vp->sval = t; |
if (&vp->fval == NF) { |
if (&vp->fval == NF) { |
donerec = 0; /* mark $0 invalid */ |
donerec = false; /* mark $0 invalid */ |
f = getfval(vp); |
f = getfval(vp); |
setlastfld(f); |
setlastfld(f); |
DPRINTF( ("setting NF to %g\n", f) ); |
DPRINTF( ("setting NF to %g\n", f) ); |
|
|
{ |
{ |
if ((vp->tval & (NUM | STR)) == 0) |
if ((vp->tval & (NUM | STR)) == 0) |
funnyvar(vp, "read value of"); |
funnyvar(vp, "read value of"); |
if (isfld(vp) && donefld == 0) |
if (isfld(vp) && !donefld) |
fldbld(); |
fldbld(); |
else if (isrec(vp) && donerec == 0) |
else if (isrec(vp) && !donerec) |
recbld(); |
recbld(); |
if (!isnum(vp)) { /* not a number */ |
if (!isnum(vp)) { /* not a number */ |
vp->fval = atof(vp->sval); /* best guess */ |
vp->fval = atof(vp->sval); /* best guess */ |
|
|
|
|
if ((vp->tval & (NUM | STR)) == 0) |
if ((vp->tval & (NUM | STR)) == 0) |
funnyvar(vp, "read value of"); |
funnyvar(vp, "read value of"); |
if (isfld(vp) && donefld == 0) |
if (isfld(vp) && ! donefld) |
fldbld(); |
fldbld(); |
else if (isrec(vp) && donerec == 0) |
else if (isrec(vp) && ! donerec) |
recbld(); |
recbld(); |
|
|
/* |
/* |