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;
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;
*cp++ = *cp1++;
cp1 = string2;
- while (*cp++ = *cp1++) ;
+ while ((*cp++ = *cp1++))
+ ;
return ostring;
}
/* 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;
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)
This is done when %semantic_parser is seen in the declarations section. */
void
-open_extra_files()
+open_extra_files (void)
{
FILE *ftmp;
int c;
/* 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;
}
void
-done(k)
-int k;
+done (int k)
{
if (faction)
fclose(faction);