From 2210d720ed3d43d54f12caa32a632b91cc2f4fab Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Fri, 14 Mar 1997 10:28:54 +0000 Subject: [PATCH] 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 --- lib/asn1/gen.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/asn1/gen.c b/lib/asn1/gen.c index 533356560..8e46e3e2b 100644 --- a/lib/asn1/gen.c +++ b/lib/asn1/gen.c @@ -1,4 +1,7 @@ -/* $Id$ */ +#ifdef HAVE_CONFIG_H +#include +#endif +RCSID("$Id$"); #include #include @@ -10,21 +13,33 @@ FILE *headerfile, *codefile, *logfile; #define STEM "asn1" +static char *orig_filename; + void init_generate (char *filename) { + orig_filename = filename; headerfile = fopen (STEM ".h", "w"); + if (headerfile == NULL) { + fprintf (stderr, "Could not open " STEM ".h" "\n"); + exit (1); + } fprintf (headerfile, "/* Generated from %s */\n" "/* Do not edit */\n\n", filename); logfile = fopen(STEM "_files", "w"); + if (logfile == NULL) { + fprintf (stderr, "Could not open " STEM "_files" "\n"); + exit (1); + } } void close_generate () { fclose (headerfile); + fprintf (logfile, "\n"); fclose (logfile); } @@ -865,6 +880,10 @@ generate_type (Symbol *s) char *filename = malloc(strlen(STEM) + strlen(s->gen_name) + 4); sprintf(filename, "%s_%s.c", STEM, s->gen_name); codefile = fopen (filename, "w"); + if (codefile == NULL) { + fprintf (stderr, "Could not create %s\n", filename); + exit (1); + } fprintf(logfile, "%s ", filename); free(filename); fprintf (codefile, @@ -875,7 +894,7 @@ generate_type (Symbol *s) "#include \n" "#include \n" "#include <" STEM ".h>\n\n", - filename); + orig_filename); generate_type_header (s); generate_type_encode (s); generate_type_decode (s);