summaryrefslogtreecommitdiffstats
path: root/compat/tmpnam.c
diff options
context:
space:
mode:
authorcvs2fossil <cvs2fossil>2011-01-25 19:02:56 (GMT)
committercvs2fossil <cvs2fossil>2011-01-25 19:02:56 (GMT)
commit352fce86be9d102b2284de839b7f7ff94ed971f2 (patch)
treee454e0d4460f15029e4ed5ae3f3131a992445426 /compat/tmpnam.c
parent75f084f6970d2344bb5a82fdff6a73825bc6e64e (diff)
downloadtcl-dgp_refactor_merge.zip
tcl-dgp_refactor_merge.tar.gz
tcl-dgp_refactor_merge.tar.bz2
Created branch dgp-refactor-merge-syntheticdgp_refactor_mergedgp_refactor_merge_synthetic
Diffstat (limited to 'compat/tmpnam.c')
-rw-r--r--compat/tmpnam.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/compat/tmpnam.c b/compat/tmpnam.c
new file mode 100644
index 0000000..6faf8de
--- /dev/null
+++ b/compat/tmpnam.c
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 1988 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted provided
+ * that this notice is preserved and that due credit is given to the
+ * University of California at Berkeley. The name of the University may not be
+ * used to endorse or promote products derived from this software without
+ * specific written prior permission. This software is provided ``as is''
+ * without express or implied warranty.
+ *
+ * RCS: @(#) $Id: tmpnam.c,v 1.3 2007/04/16 13:36:34 dkf Exp $
+ */
+
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/file.h>
+#include <stdio.h>
+
+/*
+ * Use /tmp instead of /usr/tmp, because L_tmpname is only 14 chars on some
+ * machines (like NeXT machines) and /usr/tmp will cause buffer overflows.
+ */
+
+#ifdef P_tmpdir
+# undef P_tmpdir
+#endif
+#define P_tmpdir "/tmp"
+
+char *
+tmpnam(
+ char *s)
+{
+ static char name[50];
+ char *mktemp(char *);
+
+ if (!s) {
+ s = name;
+ }
+ (void) sprintf(s, "%s/XXXXXX", P_tmpdir);
+ return mktemp(s);
+}