If community list is not defined, act as it is empty.
This commit is contained in:
parent
9511a483b1
commit
e66e6c2119
1 changed files with 13 additions and 4 deletions
|
@ -396,20 +396,29 @@ interpret(struct f_inst *what)
|
||||||
if ((!e) && (f_flags & FF_FORCE_TMPATTR))
|
if ((!e) && (f_flags & FF_FORCE_TMPATTR))
|
||||||
e = ea_find( (*f_rte)->attrs->eattrs, what->a2.i );
|
e = ea_find( (*f_rte)->attrs->eattrs, what->a2.i );
|
||||||
|
|
||||||
if (!e) {
|
|
||||||
res.type = T_VOID;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (what->aux & EAF_TYPE_MASK) {
|
switch (what->aux & EAF_TYPE_MASK) {
|
||||||
case EAF_TYPE_INT:
|
case EAF_TYPE_INT:
|
||||||
|
if (!e) {
|
||||||
|
res.type = T_VOID;
|
||||||
|
break;
|
||||||
|
}
|
||||||
res.type = T_INT;
|
res.type = T_INT;
|
||||||
res.val.i = e->u.data;
|
res.val.i = e->u.data;
|
||||||
break;
|
break;
|
||||||
case EAF_TYPE_AS_PATH:
|
case EAF_TYPE_AS_PATH:
|
||||||
|
if (!e) {
|
||||||
|
res.type = T_VOID;
|
||||||
|
break;
|
||||||
|
}
|
||||||
res.type = T_PATH;
|
res.type = T_PATH;
|
||||||
res.val.ad = e->u.ptr;
|
res.val.ad = e->u.ptr;
|
||||||
break;
|
break;
|
||||||
case EAF_TYPE_INT_SET:
|
case EAF_TYPE_INT_SET:
|
||||||
|
if (!e) {
|
||||||
|
res.type = T_CLIST;
|
||||||
|
res.val.ad = adata_empty(f_pool);
|
||||||
|
break;
|
||||||
|
}
|
||||||
res.type = T_CLIST;
|
res.type = T_CLIST;
|
||||||
res.val.ad = e->u.ptr;
|
res.val.ad = e->u.ptr;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue