struct variable, #15/18, rewrite in terms of `var_alloc_xxx()' (do-3)
This commit is contained in:
parent
57f56f53a6
commit
212121d373
|
|
@ -56,16 +56,13 @@ getFTEstat(struct FTEparm *p, FTESTATistics *stat, struct variable *next)
|
|||
|
||||
switch (p->id) {
|
||||
case FTEOPT_NLDECK:
|
||||
v = var_alloc(copy(p->description), next);
|
||||
var_set_num(v, stat->FTESTATdeckNumLines);
|
||||
v = var_alloc_num(copy(p->description), stat->FTESTATdeckNumLines, next);
|
||||
return v;
|
||||
case FTEOPT_NLT:
|
||||
v = var_alloc(copy(p->description), next);
|
||||
var_set_real(v, stat->FTESTATnetLoadTime);
|
||||
v = var_alloc_real(copy(p->description), stat->FTESTATnetLoadTime, next);
|
||||
return v;
|
||||
case FTEOPT_NPT:
|
||||
v = var_alloc(copy(p->description), next);
|
||||
var_set_real(v, stat->FTESTATnetParseTime);
|
||||
v = var_alloc_real(copy(p->description), stat->FTESTATnetParseTime, next);
|
||||
return v;
|
||||
default:
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -52,8 +52,7 @@ cp_enqvar(char *word)
|
|||
double value = isreal(d)
|
||||
? d->v_realdata[0]
|
||||
: realpart(d->v_compdata[0]);
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_real(vv, value);
|
||||
vv = var_alloc_real(copy(word), value, NULL);
|
||||
} else {
|
||||
struct variable *list = NULL;
|
||||
int i;
|
||||
|
|
@ -62,12 +61,10 @@ cp_enqvar(char *word)
|
|||
? d->v_realdata[i]
|
||||
: realpart(d->v_compdata[i]);
|
||||
struct variable *tv;
|
||||
tv = var_alloc(NULL, list);
|
||||
var_set_real(tv, value);
|
||||
tv = var_alloc_real(NULL, value, list);
|
||||
list = tv;
|
||||
}
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_vlist(vv, list);
|
||||
vv = var_alloc_vlist(copy(word), list, NULL);
|
||||
}
|
||||
|
||||
if (d->v_link2)
|
||||
|
|
@ -82,28 +79,22 @@ cp_enqvar(char *word)
|
|||
if (eq(vv->va_name, word))
|
||||
return (vv);
|
||||
if (eq(word, "curplotname")) {
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_string(vv, copy(plot_cur->pl_name));
|
||||
vv = var_alloc_string(copy(word), copy(plot_cur->pl_name), NULL);
|
||||
} else if (eq(word, "curplottitle")) {
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_string(vv, copy(plot_cur->pl_title));
|
||||
vv = var_alloc_string(copy(word), copy(plot_cur->pl_title), NULL);
|
||||
} else if (eq(word, "curplotdate")) {
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_string(vv, copy(plot_cur->pl_date));
|
||||
vv = var_alloc_string(copy(word), copy(plot_cur->pl_date), NULL);
|
||||
} else if (eq(word, "curplot")) {
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_string(vv, copy(plot_cur->pl_typename));
|
||||
vv = var_alloc_string(copy(word), copy(plot_cur->pl_typename), NULL);
|
||||
} else if (eq(word, "plots")) {
|
||||
struct variable *list = NULL;
|
||||
struct plot *pl;
|
||||
for (pl = plot_list; pl; pl = pl->pl_next) {
|
||||
struct variable *tv;
|
||||
tv = var_alloc(NULL, list);
|
||||
var_set_string(tv, copy(pl->pl_typename));
|
||||
tv = var_alloc_string(NULL, copy(pl->pl_typename), list);
|
||||
list = tv;
|
||||
}
|
||||
vv = var_alloc(copy(word), NULL);
|
||||
var_set_vlist(vv, list);
|
||||
vv = var_alloc_vlist(copy(word), list, NULL);
|
||||
}
|
||||
if (vv)
|
||||
return (vv);
|
||||
|
|
|
|||
|
|
@ -964,33 +964,27 @@ parmtovar(IFvalue *pv, IFparm *opt)
|
|||
|
||||
switch (opt->dataType & IF_VARTYPES) {
|
||||
case IF_INTEGER:
|
||||
vv = var_alloc(copy(opt->description), NULL);
|
||||
var_set_num(vv, pv->iValue);
|
||||
vv = var_alloc_num(copy(opt->description), pv->iValue, NULL);
|
||||
return vv;
|
||||
case IF_REAL:
|
||||
case IF_COMPLEX:
|
||||
vv = var_alloc(copy(opt->description), NULL);
|
||||
var_set_real(vv, pv->rValue);
|
||||
vv = var_alloc_real(copy(opt->description), pv->rValue, NULL);
|
||||
return vv;
|
||||
case IF_STRING:
|
||||
vv = var_alloc(copy(opt->description), NULL);
|
||||
var_set_string(vv, pv->sValue);
|
||||
vv = var_alloc_string(copy(opt->description), pv->sValue, NULL);
|
||||
return vv;
|
||||
case IF_FLAG:
|
||||
vv = var_alloc(copy(opt->description), NULL);
|
||||
var_set_bool(vv, pv->iValue ? TRUE : FALSE);
|
||||
vv = var_alloc_bool(copy(opt->description), pv->iValue ? TRUE : FALSE, NULL);
|
||||
return vv;
|
||||
case IF_REALVEC: {
|
||||
struct variable *list = NULL;
|
||||
int i;
|
||||
for (i = pv->v.numValue; --i >= 0;) {
|
||||
struct variable *nv;
|
||||
nv = var_alloc(NULL, list);
|
||||
var_set_real(nv, pv->v.vec.rVec[i]);
|
||||
nv = var_alloc_real(NULL, pv->v.vec.rVec[i], list);
|
||||
list = nv;
|
||||
}
|
||||
vv = var_alloc(copy(opt->description), NULL);
|
||||
var_set_vlist(vv, list);
|
||||
vv = var_alloc_vlist(copy(opt->description), list, NULL);
|
||||
return vv;
|
||||
/* It is a linked list where the first node is a variable
|
||||
* pointing to the different values of the variables.
|
||||
|
|
|
|||
|
|
@ -278,8 +278,7 @@ cp_setparse(wordlist *wl)
|
|||
|
||||
wl = wl->wl_next;
|
||||
if ((!wl || (*wl->wl_word != '=')) && !strchr(name, '=')) {
|
||||
vv = var_alloc(copy(name), vars);
|
||||
var_set_bool(vv, TRUE);
|
||||
vv = var_alloc_bool(copy(name), TRUE, vars);
|
||||
vars = vv;
|
||||
tfree(name); /*DG: cp_unquote Memory leak*/
|
||||
continue;
|
||||
|
|
@ -342,11 +341,9 @@ cp_setparse(wordlist *wl)
|
|||
copyval = ss = cp_unquote(wl->wl_word);
|
||||
td = ft_numparse(&ss, FALSE);
|
||||
if (td) {
|
||||
vv = var_alloc(NULL, NULL);
|
||||
var_set_real(vv, *td);
|
||||
vv = var_alloc_real(NULL, *td, NULL);
|
||||
} else {
|
||||
vv = var_alloc(NULL, NULL);
|
||||
var_set_string(vv, copy(ss));
|
||||
vv = var_alloc_string(NULL, copy(ss), NULL);
|
||||
}
|
||||
tfree(copyval); /*DG: must free ss any way to avoid cp_unquote memory leak*/
|
||||
if (listv) {
|
||||
|
|
@ -365,8 +362,7 @@ cp_setparse(wordlist *wl)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
vv = var_alloc(copy(name), vars);
|
||||
var_set_vlist(vv, listv);
|
||||
vv = var_alloc_vlist(copy(name), listv, vars);
|
||||
vars = vv;
|
||||
|
||||
wl = wl->wl_next;
|
||||
|
|
@ -377,12 +373,10 @@ cp_setparse(wordlist *wl)
|
|||
td = ft_numparse(&ss, FALSE);
|
||||
if (td) {
|
||||
/*** We should try to get CP_NUM's... */
|
||||
vv = var_alloc(copy(name), vars);
|
||||
var_set_real(vv, *td);
|
||||
vv = var_alloc_real(copy(name), *td, vars);
|
||||
vars = vv;
|
||||
} else {
|
||||
vv = var_alloc(copy(name), vars);
|
||||
var_set_string(vv, copy(val));
|
||||
vv = var_alloc_string(copy(name), copy(val), vars);
|
||||
vars = vv;
|
||||
}
|
||||
tfree(copyval); /*DG: must free ss any way to avoid cp_unquote memory leak */
|
||||
|
|
@ -447,8 +441,7 @@ cp_remvar(char *varname)
|
|||
}
|
||||
if (!v) {
|
||||
/* Gotta make up a var struct for cp_usrset()... */
|
||||
v = var_alloc(copy(varname), NULL);
|
||||
var_set_num(v, 0);
|
||||
v = var_alloc_num(copy(varname), 0, NULL);
|
||||
found = FALSE;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue