From 5ac65560e05d64c7cb7a98ae23151096dbea88a2 Mon Sep 17 00:00:00 2001 From: bernhardheld Date: Mon, 2 Jun 2003 09:22:21 +0000 Subject: [PATCH] src/SDCCmain.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2662 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 4 ++++ src/SDCCglue.c | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 95f9782f..39f18388 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-06-02 Bernhard Held + + * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable + 2003-05-29 Bernhard Held * src/pic/device.c: added 16F819, patch by "David I. Lehn" diff --git a/src/SDCCglue.c b/src/SDCCglue.c index 1f410e78..9b58776a 100644 --- a/src/SDCCglue.c +++ b/src/SDCCglue.c @@ -1800,12 +1800,23 @@ tempfileandname(char *fname, size_t len) const char *tmpdir = NULL; int fd; + static int warning_emitted; if ((tmpdir = getenv ("TMP")) == NULL) if ((tmpdir = getenv ("TEMP")) == NULL) tmpdir = getenv ("TMPDIR"); -#ifndef _WIN32 +#if defined(_WIN32) + if (tmpdir == NULL) + { + tmpdir = "c:\\"; + if (!warning_emitted) + { + fprintf (stderr, "TMP not defined in environment, using %s for temporary files\n", tmpdir); + warning_emitted = 1; + } + } +#else { /* try with /usr/tmp and /tmp on Un*x systems */ struct stat statbuf; @@ -1815,6 +1826,10 @@ tempfileandname(char *fname, size_t len) tmpdir = "/usr/tmp"; else if (stat("/tmp", &statbuf) != -1) tmpdir = "/tmp"; + if (!warning_emitted) { + fprintf (stderr, "TMP not defined in environment, using %s for temporary files\n", tmpdir); + warning_emitted = 1; + } } } #endif -- 2.30.2