this file.cpp is in rwtest under <stdcxx>/tests/src/file.cpp. I have two more changes coming.
> -----Original Message----- > From: Scott Zhong [mailto:[EMAIL PROTECTED] > Sent: Wednesday, October 08, 2008 9:14 AM > To: [email protected] > Subject: [PATCH] STDCXX-401 test suite should honor TMPDIR > > Index: file.cpp > =================================================================== > --- file.cpp (revision 702657) > +++ file.cpp (working copy) > @@ -208,8 +208,10 @@ > #ifndef _RWSTD_NO_MKSTEMP > # define TMP_TEMPLATE "tmpfile-XXXXXX" > > + char *tmpdir = getenv ("TMPDIR") == NULL ? P_tmpdir : getenv > ("TMPDIR"); > + > if (!buf) { > - static char fname_buf [sizeof (P_tmpdir) + sizeof > (TMP_TEMPLATE)]; > + static char fname_buf [sizeof (tmpdir) + sizeof > (TMP_TEMPLATE)]; > > buf = fname_buf; > *buf = '\0'; > @@ -217,13 +219,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 = sizeof (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 +253,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 +274,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
