more distinction
diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c
index 7799145..b136065 100644
--- a/skeletons/constr_CHOICE.c
+++ b/skeletons/constr_CHOICE.c
@@ -673,7 +673,8 @@
continue;
}
/* Fall through */
- case XCT_UNEXPECTED:
+ case XCT_UNKNOWN_OP:
+ case XCT_UNKNOWN_BO:
if(ctx->phase != 1)
break; /* Really unexpected */
@@ -693,9 +694,9 @@
ctx->step = edx;
ctx->phase = 2;
break;
- case XCT_UNEXPECTED:
+ case XCT_UNKNOWN_OP:
+ case XCT_UNKNOWN_BO:
continue;
- case XCT_CLOSING:
default:
edx = td->elements_count;
break; /* Phase out */
@@ -704,6 +705,16 @@
}
if(edx != td->elements_count)
continue;
+
+ /* It is expected extension */
+ if(specs->extensible) {
+ ASN_DEBUG("Got anticipated extension, "
+ "but NOT IMPLEMENTED YET");
+ /*
+ * TODO: implement skipping of extensions
+ */
+ }
+
/* Fall through */
default:
break;