summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-07-19 13:58:58 -0400
committerJakob Kaivo <jkk@ung.org>2019-07-19 13:58:58 -0400
commit565ef9b451d1adf14ad6cbc08bc5bf77388ec5c9 (patch)
tree87ba40bb6a872cd5bd66493357ddb1da04191f57
parentb8a74cc0ace163e6ec8f97c4dbd25698d7d98b78 (diff)
implement in C
-rw-r--r--mktemp0
-rw-r--r--mktemp.c20
2 files changed, 20 insertions, 0 deletions
diff --git a/mktemp b/mktemp
deleted file mode 100644
index e69de29..0000000
--- a/mktemp
+++ /dev/null
diff --git a/mktemp.c b/mktemp.c
new file mode 100644
index 0000000..14d615c
--- /dev/null
+++ b/mktemp.c
@@ -0,0 +1,20 @@
+#define _POSIX_C_SOURCE 200809L
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int main(int argc, char *argv[])
+{
+ char template[FILENAME_MAX] = "tmp.XXXXXXXXXX";
+ if (argc != 1) {
+ strcpy(template, argv[1]);
+ }
+ if (!strstr(template, "XXXXXX")) {
+ fprintf(stderr, "template must contain at least six 'X' characters\n");
+ return 1;
+ }
+ rmdir(template);
+ printf("%s\n", mkdtemp(template));
+ return 0;
+}