From c6a6c25430df396e36e59b73aade9ff0a7a0a949 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sun, 20 Jul 1997 00:10:17 +0000 Subject: [PATCH] argv[2] is basename of the headerfile git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2477 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/gen.c | 16 ++++++++++------ lib/asn1/main.c | 34 ++++++++++++++++++---------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/lib/asn1/gen.c b/lib/asn1/gen.c index 4d8e953e8..a7d5b6964 100644 --- a/lib/asn1/gen.c +++ b/lib/asn1/gen.c @@ -45,21 +45,25 @@ FILE *headerfile, *codefile, *logfile; #define STEM "asn1" static char *orig_filename; +static char header[1024]; void -init_generate (char *filename) +init_generate (char *filename, char *basename) { orig_filename = filename; - headerfile = fopen (STEM ".h", "w"); + if(basename == NULL) + basename = STEM; + sprintf(header, "%s.h", basename); + headerfile = fopen (header, "w"); if (headerfile == NULL) - err (1, "open " STEM ".h"); + err (1, "open %s", header); fprintf (headerfile, "/* Generated from %s */\n" "/* Do not edit */\n\n", filename); fprintf (headerfile, - "#ifndef __" STEM "_h__\n" - "#define __" STEM "_h__\n\n"); + "#ifndef __%s_h__\n" + "#define __%s_h__\n\n", basename, basename); fprintf (headerfile, "#include \n" "#include \n\n"); @@ -86,7 +90,7 @@ init_generate (char *filename) void close_generate () { - fprintf (headerfile, "#endif /* __" STEM "_h__ */\n"); + fprintf (headerfile, "#endif /* __%s_h__ */\n", header); fclose (headerfile); fprintf (logfile, "\n"); diff --git a/lib/asn1/main.c b/lib/asn1/main.c index f4578ced2..507c61776 100644 --- a/lib/asn1/main.c +++ b/lib/asn1/main.c @@ -45,22 +45,24 @@ extern FILE *yyin; int main(int argc, char **argv) { - int ret; - char *name; + int ret; + char *file; + char *name = NULL; - if (argc == 1) { - name = "stdin"; - yyin = stdin; - } else { - name = argv[1]; - yyin = fopen (name, "r"); - if (yyin == NULL) - err (1, "open %s", name); - } + if (argc == 1) { + name = "stdin"; + yyin = stdin; + } else { + file = argv[1]; + yyin = fopen (file, "r"); + if (yyin == NULL) + err (1, "open %s", file); + name = argv[2]; + } - init_generate (name); - initsym (); - ret = yyparse (); - close_generate (); - return ret; + init_generate (file, name); + initsym (); + ret = yyparse (); + close_generate (); + return ret; }