]> git.saurik.com Git - bison.git/blobdiff - src/files.c
Fix formatting glitch.
[bison.git] / src / files.c
index 9fa9b4bb5847b7433f8089f65e380a659afe4163..5f8fda44407313da468ede6a1d266ea8627cf5b3 100644 (file)
@@ -15,7 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with Bison; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 
 #if defined (VMS) & !defined (__VMS_POSIX)
@@ -72,8 +73,12 @@ extern int noparserflag;
 extern char    *mktemp();      /* So the compiler won't complain */
 extern char    *getenv();
 extern void    perror();
-FILE   *tryopen();     /* This might be a good idea */
-void done();
+
+char *stringappend PARAMS((char *, int, char *));
+void openfiles PARAMS((void));
+void open_extra_files PARAMS((void));
+FILE *tryopen PARAMS((char *, char *));        /* This might be a good idea */
+void done PARAMS((int));
 
 extern char *program_name;
 extern int verboseflag;
@@ -81,11 +86,8 @@ extern int definesflag;
 int fixed_outfiles = 0;
 \f
 
-char*
-stringappend(string1, end1, string2)
-char *string1;
-int end1;
-char *string2;
+char *
+stringappend (char *string1, int end1, char *string2)
 {
   register char *ostring;
   register char *cp, *cp1;
@@ -102,7 +104,8 @@ char *string2;
     *cp++ = *cp1++;
 
   cp1 = string2;
-  while (*cp++ = *cp1++) ;
+  while ((*cp++ = *cp1++))
+    ;
 
   return ostring;
 }
@@ -111,7 +114,7 @@ char *string2;
 /* JF this has been hacked to death.  Nowaday it sets up the file names for
    the output files, and opens the tmp files and the parser */
 void
-openfiles()
+openfiles (void)
 {
   char *name_base;
   register char *cp;
@@ -142,6 +145,15 @@ openfiles()
   strlwr (infile);
 #endif /* _WIN32 && !__CYGWIN32__ */
 
+#if (defined(unix) || defined(__unix) || defined(__unix__))
+  {
+    char *tmp_ptr = getenv("TMPDIR");
+
+    if (tmp_ptr != 0)
+      tmp_base = stringappend (tmp_ptr, strlen (tmp_ptr), "/b.");
+  }
+#endif  /* unix || __unix || __unix__ */
+
   tmp_len = strlen (tmp_base);
 
   if (spec_outfile)
@@ -306,7 +318,7 @@ openfiles()
 This is done when %semantic_parser is seen in the declarations section.  */
 
 void
-open_extra_files()
+open_extra_files (void)
 {
   FILE *ftmp;
   int c;
@@ -348,9 +360,7 @@ open_extra_files()
        /* JF to make file opening easier.  This func tries to open file
           NAME with mode MODE, and prints an error message if it fails. */
 FILE *
-tryopen(name, mode)
-char *name;
-char *mode;
+tryopen (char *name, char *mode)
 {
   FILE *ptr;
 
@@ -365,8 +375,7 @@ char *mode;
 }
 
 void
-done(k)
-int k;
+done (int k)
 {
   if (faction)
     fclose(faction);