aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/make-temp-file.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 1b1610b..0a31b0c 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2010-07-21 Pascal Obry <obry@adacore.com>
+
+ * make-temp-file.c (choose_tmpdir): Append a dot to P_tmpdir if needed.
+
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.c (floatformat_ieee_half_big): New variable.
diff --git a/libiberty/make-temp-file.c b/libiberty/make-temp-file.c
index 13e1925..4e38766 100644
--- a/libiberty/make-temp-file.c
+++ b/libiberty/make-temp-file.c
@@ -121,7 +121,12 @@ choose_tmpdir (void)
#endif
#ifdef P_tmpdir
- base = try_dir (P_tmpdir, base);
+ /* We really want a directory name here as if concatenated with say \dir
+ we do not end up with a double \\ which defines an UNC path. */
+ if (strcmp (P_tmpdir, "\\") == 0)
+ base = try_dir ("\\.", base);
+ else
+ base = try_dir (P_tmpdir, base);
#endif
/* Try /var/tmp, /usr/tmp, then /tmp. */