Module Name: src
Committed By: christos
Date: Sat Aug 15 20:02:28 UTC 2009
Modified Files:
src/usr.bin/mktemp: mktemp.1 mktemp.c
Log Message:
add -p <tmpdir> option to override $TMPDIR from the command line like linux
has.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.bin/mktemp/mktemp.1
cvs rdiff -u -r1.10 -r1.11 src/usr.bin/mktemp/mktemp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/mktemp/mktemp.1
diff -u src/usr.bin/mktemp/mktemp.1:1.17 src/usr.bin/mktemp/mktemp.1:1.18
--- src/usr.bin/mktemp/mktemp.1:1.17 Tue Sep 19 15:01:44 2006
+++ src/usr.bin/mktemp/mktemp.1 Sat Aug 15 16:02:28 2009
@@ -1,4 +1,4 @@
-.\" $NetBSD: mktemp.1,v 1.17 2006/09/19 19:01:44 wiz Exp $
+.\" $NetBSD: mktemp.1,v 1.18 2009/08/15 20:02:28 christos Exp $
.\" From: $FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.5 1999/08/28 01:04:13 peter Exp $
.\" From: $OpenBSD: mktemp.1,v 1.8 1998/03/19 06:13:37 millert Exp $
.\"
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.5 1999/08/28 01:04:13 peter Exp $
.\"
-.Dd January 12, 2006
+.Dd August 15, 2009
.Dt MKTEMP 1
.Os
.Sh NAME
@@ -40,6 +40,7 @@
.Sh SYNOPSIS
.Nm mktemp
.Op Fl dqu
+.Op Fl p Ar tmpdir
.Bro
.Fl t Ar prefix
.No |
@@ -89,6 +90,9 @@
.Ev TMPDIR
is not set is
.Pa /tmp .
+The default location of the temporary directory can be overriden with the
+.Fl p Ar tmpdir
+option.
The template string created will consist of the
.Ar prefix
followed by a
Index: src/usr.bin/mktemp/mktemp.c
diff -u src/usr.bin/mktemp/mktemp.c:1.10 src/usr.bin/mktemp/mktemp.c:1.11
--- src/usr.bin/mktemp/mktemp.c:1.10 Sat Dec 15 14:44:52 2007
+++ src/usr.bin/mktemp/mktemp.c Sat Aug 15 16:02:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: mktemp.c,v 1.10 2007/12/15 19:44:52 perry Exp $ */
+/* $NetBSD: mktemp.c,v 1.11 2009/08/15 20:02:28 christos Exp $ */
/*-
* Copyright (c) 1994, 1995, 1996, 1998 Peter Wemm <[email protected]>
@@ -50,7 +50,7 @@
#include <unistd.h>
#if defined(__RCSID) && !defined(__lint)
-__RCSID("$NetBSD: mktemp.c,v 1.10 2007/12/15 19:44:52 perry Exp $");
+__RCSID("$NetBSD: mktemp.c,v 1.11 2009/08/15 20:02:28 christos Exp $");
#endif /* !__lint */
static void usage(void) __dead;
@@ -66,15 +66,20 @@
setprogname(*argv);
ret = dflag = qflag = tflag = uflag = 0;
+ tmpdir = NULL;
prefix = "mktemp";
name = NULL;
- while ((c = getopt(argc, argv, "dqt:u")) != -1)
+ while ((c = getopt(argc, argv, "dp:qt:u")) != -1)
switch (c) {
case 'd':
dflag++;
break;
+ case 'p':
+ tmpdir = optarg;
+ break;
+
case 'q':
qflag++;
break;
@@ -96,7 +101,8 @@
argv += optind;
if (tflag) {
- tmpdir = getenv("TMPDIR");
+ if (tmpdir == NULL)
+ tmpdir = getenv("TMPDIR");
if (tmpdir == NULL)
(void)asprintf(&name, "%s%s.XXXXXXXX", _PATH_TMP,
prefix);
@@ -116,7 +122,11 @@
/* generate all requested files */
while (name != NULL || argc > 0) {
if (name == NULL) {
- name = strdup(argv[0]);
+ if (tmpdir)
+ (void)asprintf(&name, "%s/%s",
+ tmpdir, argv[0]);
+ else
+ name = strdup(argv[0]);
argv++;
argc--;
}
@@ -155,7 +165,7 @@
usage(void)
{
(void)fprintf(stderr,
- "Usage: %s [-dqu] {-t prefix | template ...}\n",
- getprogname());
+ "Usage: %s [-dqu] [-p <tmpdir>] {-t prefix | template ...}\n",
+ getprogname());
exit (1);
}