aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1fix/asn1fix_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libasn1fix/asn1fix_misc.c')
-rw-r--r--libasn1fix/asn1fix_misc.c11
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.
*/