summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-12-11 14:58:02 +0000
committerpeter <peter@FreeBSD.org>1999-12-11 14:58:02 +0000
commit17ef7b81d643aaa65e7aaba16d54f2baec7e1e7c (patch)
treefa0799678a58bfe0283687e3195ae9f506a85de2 /contrib
parentafa6f15fc776bfa99c2d1c399bf36073c33a3c81 (diff)
downloadFreeBSD-src-17ef7b81d643aaa65e7aaba16d54f2baec7e1e7c.zip
FreeBSD-src-17ef7b81d643aaa65e7aaba16d54f2baec7e1e7c.tar.gz
Take a shot at using mkstemp() since we have a __warn_references() on
the other temporary file creation functions..
Diffstat (limited to 'contrib')
-rw-r--r--contrib/cvs/diff/diff3.c5
-rw-r--r--contrib/cvs/src/filesubr.c18
2 files changed, 22 insertions, 1 deletions
diff --git a/contrib/cvs/diff/diff3.c b/contrib/cvs/diff/diff3.c
index e3be150..c2997e9 100644
--- a/contrib/cvs/diff/diff3.c
+++ b/contrib/cvs/diff/diff3.c
@@ -12,6 +12,9 @@
GNU General Public License for more details.
*/
+/*
+ * $FreeBSD$
+ */
/* Written by Randy Smith */
/* Librarification by Tim Pierce */
@@ -1274,7 +1277,7 @@ read_diff (filea, fileb, output_placement)
*ap++ = fileb;
*ap = 0;
- diffout = tmpnam(NULL);
+ diffout = (char *)cvs_temp_name();
outfile_hold = outfile;
callbacks_hold = callbacks;
diff --git a/contrib/cvs/src/filesubr.c b/contrib/cvs/src/filesubr.c
index ae64460..83f7fb9 100644
--- a/contrib/cvs/src/filesubr.c
+++ b/contrib/cvs/src/filesubr.c
@@ -686,6 +686,23 @@ xcmp (file1, file2)
4.3), and as last resort tmpnam (POSIX). Reason is that tempnam and
mktemp both allow to specify the directory in which the temporary
file will be created. */
+#if 1
+char *
+cvs_temp_name ()
+{
+ char *value;
+ int retval;
+
+ value = xmalloc (strlen (Tmpdir) + 40);
+ sprintf (value, "%s/%s", Tmpdir, "cvsXXXXXX");
+ retval = mkstemp (value);
+
+ if (retval == -1)
+ error (1, errno, "cannot generate temporary filename");
+ close (retval);
+ return value;
+}
+#else
#ifdef HAVE_TEMPNAM
char *
cvs_temp_name ()
@@ -725,6 +742,7 @@ cvs_temp_name ()
# endif
}
#endif
+#endif
/* Return non-zero iff FILENAME is absolute.
Trivial under Unix, but more complicated under other systems. */
OpenPOWER on IntegriCloud