diff options
Diffstat (limited to 'libasn1fix/asn1fix_misc.c')
-rw-r--r-- | libasn1fix/asn1fix_misc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libasn1fix/asn1fix_misc.c b/libasn1fix/asn1fix_misc.c index b28a58a2..5728bd4c 100644 --- a/libasn1fix/asn1fix_misc.c +++ b/libasn1fix/asn1fix_misc.c @@ -196,6 +196,17 @@ asn1f_recurse_expr(arg_t *arg, int (*callback)(arg_t *arg)) { assert(expr); + if(expr->lhs_params && expr->spec_index == -1) { + int i; + for(i = 0; i < expr->specializations.pspecs_count; i++) { + arg->expr = expr->specializations.pspec[i].my_clone; + ret = asn1f_recurse_expr(arg, callback); + RET2RVAL(ret, rvalue); + } + arg->expr = expr; /* revert */ + return rvalue; + } + /* * Invoke the callback at this very level. */ |