more advanced stuff with defaults


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1075 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1fix/asn1fix_derefv.c b/libasn1fix/asn1fix_derefv.c
index 76f49a3..5436d58 100644
--- a/libasn1fix/asn1fix_derefv.c
+++ b/libasn1fix/asn1fix_derefv.c
@@ -38,6 +38,19 @@
 			break;
 		}
 
+
+		if(expr->expr_type == A1TC_CLASSFIELD_FTVFS) {
+			asn1p_expr_t *child = TQ_FIRST(&expr->members);
+			int ret;
+			assert(child);
+			assert(child->marker.default_value == 0);
+			tmparg.expr = child;
+			child->marker.default_value=expr->marker.default_value;
+			ret = asn1f_fix_dereference_defaults(&tmparg);
+			expr->marker.default_value = child->marker.default_value;
+			if(ret == 0) return 0;	/* Finished */
+		}
+
 		tmparg.expr = &tmpexpr;
 		tmpexpr.meta_type = AMT_VALUE;
 		tmpexpr.marker.default_value = 0;