variables, explicit processing of ft_curckt->ci_vars, drop uv2
This commit is contained in:
parent
7483ff9d8c
commit
b13125ac84
|
|
@ -404,12 +404,11 @@ void
|
||||||
cp_remvar(char *varname)
|
cp_remvar(char *varname)
|
||||||
{
|
{
|
||||||
struct variable *v, *u, *lv = NULL;
|
struct variable *v, *u, *lv = NULL;
|
||||||
struct variable *uv1, *uv2;
|
struct variable *uv1;
|
||||||
bool found = TRUE;
|
bool found = TRUE;
|
||||||
int i, var_index;
|
int i, var_index;
|
||||||
|
|
||||||
uv1 = cp_usrvars();
|
uv1 = cp_usrvars();
|
||||||
uv2 = ft_curckt ? ft_curckt->ci_vars : NULL;
|
|
||||||
|
|
||||||
var_index = 0;
|
var_index = 0;
|
||||||
for (v = variables; v; v = v->va_next) {
|
for (v = variables; v; v = v->va_next) {
|
||||||
|
|
@ -426,10 +425,10 @@ cp_remvar(char *varname)
|
||||||
lv = v;
|
lv = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (v == NULL) {
|
if (v == NULL && ft_curckt) {
|
||||||
var_index = 2;
|
var_index = 2;
|
||||||
lv = NULL;
|
lv = NULL;
|
||||||
for (v = uv2; v; v = v->va_next) {
|
for (v = ft_curckt->ci_vars; v; v = v->va_next) {
|
||||||
if (eq(v->va_name, varname))
|
if (eq(v->va_name, varname))
|
||||||
break;
|
break;
|
||||||
lv = v;
|
lv = v;
|
||||||
|
|
@ -534,10 +533,9 @@ bool
|
||||||
cp_getvar(char *name, enum cp_types type, void *retval)
|
cp_getvar(char *name, enum cp_types type, void *retval)
|
||||||
{
|
{
|
||||||
struct variable *v;
|
struct variable *v;
|
||||||
struct variable *uv1, *uv2;
|
struct variable *uv1;
|
||||||
|
|
||||||
uv1 = cp_usrvars();
|
uv1 = cp_usrvars();
|
||||||
uv2 = ft_curckt ? ft_curckt->ci_vars : NULL;
|
|
||||||
|
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
/* SDB debug statement */
|
/* SDB debug statement */
|
||||||
|
|
@ -549,8 +547,8 @@ cp_getvar(char *name, enum cp_types type, void *retval)
|
||||||
if (v == NULL)
|
if (v == NULL)
|
||||||
for (v = uv1; v && !eq(name, v->va_name); v = v->va_next)
|
for (v = uv1; v && !eq(name, v->va_name); v = v->va_next)
|
||||||
;
|
;
|
||||||
if (v == NULL)
|
if (v == NULL && ft_curckt)
|
||||||
for (v = uv2; v && !eq(name, v->va_name); v = v->va_next)
|
for (v = ft_curckt->ci_vars; v && !eq(name, v->va_name); v = v->va_next)
|
||||||
;
|
;
|
||||||
|
|
||||||
if (v == NULL) {
|
if (v == NULL) {
|
||||||
|
|
@ -598,7 +596,6 @@ cp_getvar(char *name, enum cp_types type, void *retval)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
free_struct_variable(uv1);
|
free_struct_variable(uv1);
|
||||||
// tfree(uv2);
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -912,19 +909,19 @@ void
|
||||||
cp_vprint(void)
|
cp_vprint(void)
|
||||||
{
|
{
|
||||||
struct variable *v;
|
struct variable *v;
|
||||||
struct variable *uv1, *uv2;
|
struct variable *uv1;
|
||||||
wordlist *wl;
|
wordlist *wl;
|
||||||
int i, j;
|
int i, j;
|
||||||
char *s;
|
char *s;
|
||||||
struct xxx *vars;
|
struct xxx *vars;
|
||||||
|
|
||||||
uv1 = cp_usrvars();
|
uv1 = cp_usrvars();
|
||||||
uv2 = ft_curckt ? ft_curckt->ci_vars : NULL;
|
|
||||||
|
|
||||||
for (v = uv1, i = 0; v; v = v->va_next)
|
for (v = uv1, i = 0; v; v = v->va_next)
|
||||||
i++;
|
i++;
|
||||||
for (v = uv2; v; v = v->va_next)
|
if (ft_curckt)
|
||||||
i++;
|
for (v = ft_curckt->ci_vars; v; v = v->va_next)
|
||||||
|
i++;
|
||||||
for (v = variables; v; v = v->va_next)
|
for (v = variables; v; v = v->va_next)
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
|
|
@ -939,10 +936,11 @@ cp_vprint(void)
|
||||||
vars[i].x_v = v;
|
vars[i].x_v = v;
|
||||||
vars[i].x_char = '*';
|
vars[i].x_char = '*';
|
||||||
}
|
}
|
||||||
for (v = uv2; v; v = v->va_next, i++) {
|
if (ft_curckt)
|
||||||
vars[i].x_v = v;
|
for (v = ft_curckt->ci_vars; v; v = v->va_next, i++) {
|
||||||
vars[i].x_char = '+';
|
vars[i].x_v = v;
|
||||||
}
|
vars[i].x_char = '+';
|
||||||
|
}
|
||||||
|
|
||||||
qsort(vars, (size_t) i, sizeof(*vars), vcmp);
|
qsort(vars, (size_t) i, sizeof(*vars), vcmp);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue