diff options
Diffstat (limited to 'lib/asn1/gen_seq.c')
| -rw-r--r-- | lib/asn1/gen_seq.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/asn1/gen_seq.c b/lib/asn1/gen_seq.c index 3487e98b0a77..97628132ba79 100644 --- a/lib/asn1/gen_seq.c +++ b/lib/asn1/gen_seq.c @@ -35,6 +35,14 @@ RCSID("$Id$"); +static FILE * +get_code_file(void) +{ + if (!one_code_file && template_flag && templatefile) + return templatefile; + return codefile; +} + void generate_type_seq (const Symbol *s) { @@ -72,12 +80,12 @@ generate_type_seq (const Symbol *s) s->gen_name, s->gen_name, subname, s->gen_name, s->gen_name); - fprintf (codefile, "int ASN1CALL\n" + fprintf (get_code_file(), "int ASN1CALL\n" "add_%s(%s *data, const %s *element)\n" "{\n", s->gen_name, s->gen_name, subname); - fprintf (codefile, + fprintf (get_code_file(), "int ret;\n" "void *ptr;\n" "\n" @@ -91,14 +99,14 @@ generate_type_seq (const Symbol *s) "return 0;\n", subname); - fprintf (codefile, "}\n\n"); + fprintf (get_code_file(), "}\n\n"); - fprintf (codefile, "int ASN1CALL\n" + fprintf (get_code_file(), "int ASN1CALL\n" "remove_%s(%s *data, unsigned int element)\n" "{\n", s->gen_name, s->gen_name); - fprintf (codefile, + fprintf (get_code_file(), "void *ptr;\n" "\n" "if (data->len == 0 || element >= data->len)\n" @@ -115,5 +123,5 @@ generate_type_seq (const Symbol *s) "return 0;\n", subname); - fprintf (codefile, "}\n\n"); + fprintf (get_code_file(), "}\n\n"); } |
