(openfiles): [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to

find a temporary directory, if possible.  Do not unlink files while
they are open.
This commit is contained in:
Richard M. Stallman
1998-01-05 00:25:39 +00:00
parent aba5ca6dea
commit e0672a6170

View File

@@ -133,6 +133,15 @@ openfiles()
strlwr (infile); strlwr (infile);
#endif /* MSDOS */ #endif /* MSDOS */
#if (defined(_WIN32) && !defined(__CYGWIN32__))
tmp_base = getenv ("TEMP"); /* Windows95 defines this ... */
if (tmp_base == 0)
tmp_base = getenv ("Temp"); /* ... while NT prefers this */
if (tmp_base == 0)
tmp_base = "";
strlwr (infile);
#endif /* _WIN32 && !__CYGWIN32__ */
tmp_len = strlen (tmp_base); tmp_len = strlen (tmp_base);
if (spec_outfile) if (spec_outfile)
@@ -263,13 +272,13 @@ openfiles()
fdefines = tryopen(tmpdefsfile, "w+"); fdefines = tryopen(tmpdefsfile, "w+");
} }
#ifndef MSDOS #if !(defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__)))
if (! noparserflag) if (! noparserflag)
unlink(actfile); unlink(actfile);
unlink(tmpattrsfile); unlink(tmpattrsfile);
unlink(tmptabfile); unlink(tmptabfile);
unlink(tmpdefsfile); unlink(tmpdefsfile);
#endif #endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */
/* These are opened by `done' or `open_extra_files', if at all */ /* These are opened by `done' or `open_extra_files', if at all */
if (spec_outfile) if (spec_outfile)
@@ -412,12 +421,12 @@ int k;
if (k==0) sys$exit(SS$_NORMAL); if (k==0) sys$exit(SS$_NORMAL);
sys$exit(SS$_ABORT); sys$exit(SS$_ABORT);
#else #else
#ifdef MSDOS #if (defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__)))
if (actfile && ! noparserflag) unlink(actfile); if (actfile && ! noparserflag) unlink(actfile);
if (tmpattrsfile) unlink(tmpattrsfile); if (tmpattrsfile) unlink(tmpattrsfile);
if (tmptabfile) unlink(tmptabfile); if (tmptabfile) unlink(tmptabfile);
if (tmpdefsfile) unlink(tmpdefsfile); if (tmpdefsfile) unlink(tmpdefsfile);
#endif /* MSDOS */ #endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */
exit(k); exit(k);
#endif /* not VMS, or __VMS_POSIX */ #endif /* not VMS, or __VMS_POSIX */
} }