diff --git a/lib/asn1/gen.c b/lib/asn1/gen.c index 1c1fd88f2..559309b81 100644 --- a/lib/asn1/gen.c +++ b/lib/asn1/gen.c @@ -475,13 +475,20 @@ generate_type (const Symbol *s) "#include \n" "#include \n" "#include \n\n"); - generate_type_header (s); - generate_type_encode (s); - generate_type_decode (s); - generate_type_free (s); - generate_type_length (s); - generate_type_copy (s); - generate_glue (s); + + if (s->stype == Stype && s->type->type == TChoice) { + fprintf(codefile, + "/* CHOICE */\n" + "int asn1_%s_dummy_holder = 1;\n", s->gen_name); + } else { + generate_type_header (s); + generate_type_encode (s); + generate_type_decode (s); + generate_type_free (s); + generate_type_length (s); + generate_type_copy (s); + generate_glue (s); + } fprintf(headerfile, "\n\n"); fclose(codefile); }