Scott Zhong wrote:
I think I'll use this email [EMAIL PROTECTED]
Okay, please check the new change log message:
http://svn.apache.org/viewvc?view=rev&revision=706515
In the future, please include your email info in the log message.
-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED]
Sent: Monday, October 20, 2008 10:58 PM
To: [email protected]
Subject: Re: [PATCH] STDCXX-401 test suite should honor TMPDIR
Scott Zhong wrote:
Changelog:
* tests/src/file.cpp (rw_tmpnam): use TMPDIR variable from
environment
if defined.
Okay, thanks. Patch committed here:
http://svn.apache.org/viewvc?rev=706515&view=rev
FYI: I used your Rogue Wave email address to complete your change
comment. If that's not what you want listed in the ChangeLog please
provide an alternate address.
Martin
here is the patch:
Index: tests/src/file.cpp
===================================================================
--- tests/src/file.cpp (revision 702657)
+++ tests/src/file.cpp (working copy)
@@ -208,8 +208,13 @@
#ifndef _RWSTD_NO_MKSTEMP
# define TMP_TEMPLATE "tmpfile-XXXXXX"
+ const char *tmpdir = getenv ("TMPDIR");
+ if (tmpdir == NULL) {
+ tmpdir = P_tmpdir;
+ }
+
if (!buf) {
- static char fname_buf [sizeof (P_tmpdir) + sizeof
(TMP_TEMPLATE)];
+ static char fname_buf [PATH_MAX];
buf = fname_buf;
*buf = '\0';
@@ -217,13 +222,13 @@
if ('\0' == *buf) {
// copy the template to the buffer; make sure there is
exactly
- // one path separator character between P_tmpdir and the
file
+ // one path separator character between tmpdir and the file
// name template (it doesn't really matter how many there
are
// as long as it's at least one, but one looks better than
two
// in diagnostic messages)
- size_t len = sizeof (P_tmpdir) - 1;
+ size_t len = strlen (tmpdir) - 1;
- memcpy (buf, P_tmpdir, len);
+ memcpy (buf, tmpdir, len);
if (_RWSTD_PATH_SEP != buf [len - 1])
buf [len++] = _RWSTD_PATH_SEP;
@@ -251,7 +256,7 @@
# ifdef _WIN32
// create a temporary file name
- char* fname = tempnam (P_tmpdir, ".rwtest-tmp");
+ char* fname = tempnam (tmpdir, ".rwtest-tmp");
if (fname) {
@@ -272,7 +277,7 @@
else {
fprintf (stderr, "%s:%d: tempnam(\"%s\", \"%s\") failed:
%s\n",
__FILE__, __LINE__,
- P_tmpdir, ".rwtest-tmp", strerror (errno));
+ tmpdir, ".rwtest-tmp", strerror (errno));
}
# else