X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/95021767a1e93fa7b83f8a6c5ec5fd5f8064dd2c..9b33de72cd2469bedac2b5f0a48a8782571ea9db:/src/output.c?ds=sidebyside diff --git a/src/output.c b/src/output.c index 2fea642b..ef7683ec 100644 --- a/src/output.c +++ b/src/output.c @@ -492,13 +492,16 @@ output_skeleton (void) full_skeleton = xmalloc (pkgdatadirlen + 1 + (skeleton_size < sizeof m4sugar ? sizeof m4sugar : skeleton_size)); - strcpy (full_skeleton, pkgdatadir); + strncpy (full_skeleton, pkgdatadir, pkgdatadirlen); full_skeleton[pkgdatadirlen] = '/'; strcpy (full_skeleton + pkgdatadirlen + 1, m4sugar); full_m4sugar = xstrdup (full_skeleton); strcpy (full_skeleton + pkgdatadirlen + 1, m4bison); full_m4bison = xstrdup (full_skeleton); - strcpy (full_skeleton + pkgdatadirlen + 1, skeleton); + if (strchr (skeleton, '/')) + strcpy (full_skeleton, skeleton); + else + strcpy (full_skeleton + pkgdatadirlen + 1, skeleton); xfclose (xfopen (full_m4sugar, "r")); /* Create an m4 subprocess connected to us via two pipes. */ @@ -536,9 +539,6 @@ output_skeleton (void) symbol_code_props_output (out, "printers", &symbol_printer_get); muscles_m4_output (out); - - fputs ("m4_wrap([m4_divert_pop(0)])\n", out); - fputs ("m4_divert_push(0)dnl\n", out); xfclose (out); /* Read and process m4's output. */ @@ -598,12 +598,6 @@ prepare (void) DEFINE (spec_verbose_file); #undef DEFINE - /* User Code. */ - obstack_1grow (&pre_prologue_obstack, 0); - obstack_1grow (&post_prologue_obstack, 0); - muscle_insert ("pre_prologue", obstack_finish (&pre_prologue_obstack)); - muscle_insert ("post_prologue", obstack_finish (&post_prologue_obstack)); - /* Find the right skeleton file, and add muscles about the skeletons. */ if (skeleton) MUSCLE_INSERT_C_STRING ("skeleton", skeleton); @@ -642,6 +636,4 @@ output (void) output_skeleton (); obstack_free (&format_obstack, NULL); - obstack_free (&pre_prologue_obstack, NULL); - obstack_free (&post_prologue_obstack, NULL); }