mktemp: be more compatible: bare "mktemp" creates tempfile in /tmp, not cwd

function                                             old     new   delta
mktemp_main                                          171     152     -19

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/debianutils/mktemp.c b/debianutils/mktemp.c
index 0dcb1e8..c402114 100644
--- a/debianutils/mktemp.c
+++ b/debianutils/mktemp.c
@@ -39,23 +39,20 @@
 {
 	const char *path;
 	char *chp;
-	unsigned opt;
+	unsigned opts;
 
+	path = getenv("TMPDIR");
+	if (!path || path[0] == '\0')
+		path = "/tmp";
+
+	/* -q and -t are ignored */
 	opt_complementary = "?1"; /* 1 argument max */
-	opt = getopt32(argv, "dqtp:", &path);
+	opts = getopt32(argv, "dqtp:", &path);
+
 	chp = argv[optind] ? argv[optind] : xstrdup("tmp.XXXXXX");
+	chp = concat_path_file(path, chp);
 
-	if (opt & (4|8)) { /* -t and/or -p */
-		const char *dir = getenv("TMPDIR");
-		if (dir && *dir != '\0')
-			path = dir;
-		else if (!(opt & 8)) /* no -p */
-			path = "/tmp/";
-		/* else path comes from -p DIR */
-		chp = concat_path_file(path, chp);
-	}
-
-	if (opt & 1) { /* -d */
+	if (opts & 1) { /* -d */
 		if (mkdtemp(chp) == NULL)
 			return EXIT_FAILURE;
 	} else {