Fix filename in generated files

Check fopens.
Put trailing newline in asn1_files.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1428 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-03-14 10:28:54 +00:00
parent 93dbc8da93
commit 2210d720ed

View File

@@ -1,4 +1,7 @@
/* $Id$ */ #ifdef HAVE_CONFIG_H
#include <config.h>
#endif
RCSID("$Id$");
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@@ -10,21 +13,33 @@ FILE *headerfile, *codefile, *logfile;
#define STEM "asn1" #define STEM "asn1"
static char *orig_filename;
void void
init_generate (char *filename) init_generate (char *filename)
{ {
orig_filename = filename;
headerfile = fopen (STEM ".h", "w"); headerfile = fopen (STEM ".h", "w");
if (headerfile == NULL) {
fprintf (stderr, "Could not open " STEM ".h" "\n");
exit (1);
}
fprintf (headerfile, fprintf (headerfile,
"/* Generated from %s */\n" "/* Generated from %s */\n"
"/* Do not edit */\n\n", "/* Do not edit */\n\n",
filename); filename);
logfile = fopen(STEM "_files", "w"); logfile = fopen(STEM "_files", "w");
if (logfile == NULL) {
fprintf (stderr, "Could not open " STEM "_files" "\n");
exit (1);
}
} }
void void
close_generate () close_generate ()
{ {
fclose (headerfile); fclose (headerfile);
fprintf (logfile, "\n");
fclose (logfile); fclose (logfile);
} }
@@ -865,6 +880,10 @@ generate_type (Symbol *s)
char *filename = malloc(strlen(STEM) + strlen(s->gen_name) + 4); char *filename = malloc(strlen(STEM) + strlen(s->gen_name) + 4);
sprintf(filename, "%s_%s.c", STEM, s->gen_name); sprintf(filename, "%s_%s.c", STEM, s->gen_name);
codefile = fopen (filename, "w"); codefile = fopen (filename, "w");
if (codefile == NULL) {
fprintf (stderr, "Could not create %s\n", filename);
exit (1);
}
fprintf(logfile, "%s ", filename); fprintf(logfile, "%s ", filename);
free(filename); free(filename);
fprintf (codefile, fprintf (codefile,
@@ -875,7 +894,7 @@ generate_type (Symbol *s)
"#include <time.h>\n" "#include <time.h>\n"
"#include <der.h>\n" "#include <der.h>\n"
"#include <" STEM ".h>\n\n", "#include <" STEM ".h>\n\n",
filename); orig_filename);
generate_type_header (s); generate_type_header (s);
generate_type_encode (s); generate_type_encode (s);
generate_type_decode (s); generate_type_decode (s);