]> git.saurik.com Git - bison.git/blobdiff - src/files.c
Fix the previous test.
[bison.git] / src / files.c
index 11de06e7510a4b64aac10b6886ad375a5115f345..22f29c1ed06c3f11a38a532900157a00b0e011ca 100644 (file)
@@ -192,6 +192,7 @@ skeleton_find (const char *envvar, const char *skeleton_name)
   const char *res = getenv (envvar);
 
 #if defined (MSDOS) || defined (_WIN32)
+  const char *cp = getenv ("INIT");
   if (!res)
     {
       /* Skeleton file name without path */
@@ -204,7 +205,6 @@ skeleton_find (const char *envvar, const char *skeleton_name)
         ++skel_name;
 
       /* File doesn't exist in current directory; try in INIT directory.  */
-      const char *cp = getenv ("INIT");
       if (cp)
        {
          res = XMALLOC (char, strlen (cp) + strlen (skel_name) + 2);
@@ -403,7 +403,7 @@ compute_base_names (void)
 
       /* Computes the extensions from the grammar file name.  */
       filename_split (infile, &base, &tab, &ext);
-      if (ext)
+      if (ext && !yacc_flag)
        compute_exts_from_gf (ext);
     }
 }
@@ -417,15 +417,15 @@ compute_output_file_names (void)
 {
   compute_base_names ();
 
-  parser_file_name =
-    spec_outfile ? spec_outfile : stringappend (full_base_name, src_extension);
-
   /* If not yet done. */
   if (!src_extension)
     src_extension = ".c";
   if (!header_extension)
     header_extension = ".h";
-
+  
+  parser_file_name =
+    spec_outfile ? spec_outfile : stringappend (full_base_name, src_extension);
+  
   /* It the defines filename if not given, we create it.  */
   if (!spec_defines_file)
     spec_defines_file = stringappend (full_base_name, header_extension);