aboutsummaryrefslogtreecommitdiffstats
path: root/missing/tmpnam.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 11:58:26 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 11:58:26 +0300
commit765c7494b3dac62207e6cd57fb839997e237f292 (patch)
treef7da12ffdb85d9f82671cb3122775b2ce73f7ad9 /missing/tmpnam.c
parentcce5115e21db1702e0617afdca36633e7e2c9eae (diff)
downloadegawk-765c7494b3dac62207e6cd57fb839997e237f292.tar.gz
egawk-765c7494b3dac62207e6cd57fb839997e237f292.tar.bz2
egawk-765c7494b3dac62207e6cd57fb839997e237f292.zip
Moving to 2.13.2.
Diffstat (limited to 'missing/tmpnam.c')
-rw-r--r--missing/tmpnam.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/missing/tmpnam.c b/missing/tmpnam.c
new file mode 100644
index 00000000..8f49859a
--- /dev/null
+++ b/missing/tmpnam.c
@@ -0,0 +1,27 @@
+/*
+ * tmpnam - an implementation for systems lacking a library version
+ * this version does not rely on the P_tmpdir and L_tmpnam constants.
+ */
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+static char template[] = "/tmp/gawkXXXXXX";
+
+char *
+tmpnam(tmp)
+char *tmp;
+{
+ static char tmpbuf[sizeof(template)];
+
+ if (tmp == NULL) {
+ (void) strcpy(tmpbuf, template);
+ (void) mktemp(tmpbuf);
+ return tmpbuf;
+ } else {
+ (void) strcpy(tmp, template);
+ (void) mktemp(tmp);
+ return tmp;
+ }
+}