summaryrefslogtreecommitdiffstats
path: root/filter/filter.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/filter.c')
-rw-r--r--filter/filter.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/filter/filter.c b/filter/filter.c
index e913bf6..99d47bc 100644
--- a/filter/filter.c
+++ b/filter/filter.c
@@ -305,7 +305,19 @@ interpret(struct f_inst *what)
}
break;
case 'ea': /* Access to extended attributes [hmm, but we need it read/write, do we?] */
- bug( "Implement me" );
+ {
+ eattr *e = ea_find( (*f_rte)->attrs->eattrs, what->a2.i );
+ if (!e) {
+ res.type = T_VOID;
+ break;
+ }
+ res.type = what->a1.i;
+ switch (what->a1.i) {
+ case T_INT:
+ res.val.i = e->u.data;
+ break;
+ }
+ }
break;
case 'cp': /* Convert prefix to ... */
ONEARG;