src/SDCCmain.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 2 Jun 2003 09:22:21 +0000 (09:22 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 2 Jun 2003 09:22:21 +0000 (09:22 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2662 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/SDCCglue.c

index 95f9782f318f5b1d758939f38e2f735b6e08a790..39f183884ca4e1ae052f6e3d1b348227dc60cf7a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-06-02  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
+
 2003-05-29  Bernhard Held <bernhard@bernhardheld.de>
 
        * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
index 1f410e788b459e96d3a64218b6be01f5334f5c10..9b58776a875091436ab962e67943a084aea3c1e7 100644 (file)
@@ -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