123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* vi: set sw=4 ts=4: */
- /*
- * Mini mktemp implementation for busybox
- *
- *
- * Copyright (C) 2000 by Daniel Jacobowitz
- * Written by Daniel Jacobowitz <dan@debian.org>
- *
- * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
- */
- #include "busybox.h"
- #include <stdio.h>
- #include <errno.h>
- #include <string.h>
- #include <unistd.h>
- #include <stdlib.h>
- int mktemp_main(int argc, char **argv)
- {
- unsigned long flags = getopt32(argc, argv, "dqt");
- char *chp;
- if (optind + 1 != argc)
- bb_show_usage();
- chp = argv[optind];
- if (flags & 4) {
- char *dir = getenv("TMPDIR");
- if (dir && *dir != '\0')
- chp = concat_path_file(dir, chp);
- else
- chp = concat_path_file("/tmp/", chp);
- }
- if (flags & 1) {
- if (mkdtemp(chp) == NULL)
- return EXIT_FAILURE;
- } else {
- if (mkstemp(chp) < 0)
- return EXIT_FAILURE;
- }
- puts(chp);
- return EXIT_SUCCESS;
- }
|