argv[2] is basename of the headerfile

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2477 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-07-20 00:10:17 +00:00
parent aeeb943480
commit c6a6c25430
2 changed files with 28 additions and 22 deletions

View File

@@ -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 <stddef.h>\n"
"#include <time.h>\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");

View File

@@ -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;
}