mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
Honor TMPDIR on Unix hosts.
Use prototypes if the compiler understands them.
This commit is contained in:
38
src/files.c
38
src/files.c
@@ -72,8 +72,12 @@ extern int noparserflag;
|
|||||||
extern char *mktemp(); /* So the compiler won't complain */
|
extern char *mktemp(); /* So the compiler won't complain */
|
||||||
extern char *getenv();
|
extern char *getenv();
|
||||||
extern void perror();
|
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 char *program_name;
|
||||||
extern int verboseflag;
|
extern int verboseflag;
|
||||||
@@ -81,11 +85,8 @@ extern int definesflag;
|
|||||||
int fixed_outfiles = 0;
|
int fixed_outfiles = 0;
|
||||||
|
|
||||||
|
|
||||||
char*
|
char *
|
||||||
stringappend(string1, end1, string2)
|
stringappend (char *string1, int end1, char *string2)
|
||||||
char *string1;
|
|
||||||
int end1;
|
|
||||||
char *string2;
|
|
||||||
{
|
{
|
||||||
register char *ostring;
|
register char *ostring;
|
||||||
register char *cp, *cp1;
|
register char *cp, *cp1;
|
||||||
@@ -102,7 +103,8 @@ char *string2;
|
|||||||
*cp++ = *cp1++;
|
*cp++ = *cp1++;
|
||||||
|
|
||||||
cp1 = string2;
|
cp1 = string2;
|
||||||
while (*cp++ = *cp1++) ;
|
while ((*cp++ = *cp1++))
|
||||||
|
;
|
||||||
|
|
||||||
return ostring;
|
return ostring;
|
||||||
}
|
}
|
||||||
@@ -111,7 +113,7 @@ char *string2;
|
|||||||
/* JF this has been hacked to death. Nowaday it sets up the file names for
|
/* 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 */
|
the output files, and opens the tmp files and the parser */
|
||||||
void
|
void
|
||||||
openfiles()
|
openfiles (void)
|
||||||
{
|
{
|
||||||
char *name_base;
|
char *name_base;
|
||||||
register char *cp;
|
register char *cp;
|
||||||
@@ -142,6 +144,15 @@ openfiles()
|
|||||||
strlwr (infile);
|
strlwr (infile);
|
||||||
#endif /* _WIN32 && !__CYGWIN32__ */
|
#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);
|
tmp_len = strlen (tmp_base);
|
||||||
|
|
||||||
if (spec_outfile)
|
if (spec_outfile)
|
||||||
@@ -306,7 +317,7 @@ openfiles()
|
|||||||
This is done when %semantic_parser is seen in the declarations section. */
|
This is done when %semantic_parser is seen in the declarations section. */
|
||||||
|
|
||||||
void
|
void
|
||||||
open_extra_files()
|
open_extra_files (void)
|
||||||
{
|
{
|
||||||
FILE *ftmp;
|
FILE *ftmp;
|
||||||
int c;
|
int c;
|
||||||
@@ -348,9 +359,7 @@ open_extra_files()
|
|||||||
/* JF to make file opening easier. This func tries to open file
|
/* JF to make file opening easier. This func tries to open file
|
||||||
NAME with mode MODE, and prints an error message if it fails. */
|
NAME with mode MODE, and prints an error message if it fails. */
|
||||||
FILE *
|
FILE *
|
||||||
tryopen(name, mode)
|
tryopen (char *name, char *mode)
|
||||||
char *name;
|
|
||||||
char *mode;
|
|
||||||
{
|
{
|
||||||
FILE *ptr;
|
FILE *ptr;
|
||||||
|
|
||||||
@@ -365,8 +374,7 @@ char *mode;
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
done(k)
|
done (int k)
|
||||||
int k;
|
|
||||||
{
|
{
|
||||||
if (faction)
|
if (faction)
|
||||||
fclose(faction);
|
fclose(faction);
|
||||||
|
|||||||
Reference in New Issue
Block a user