summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debianutils/mktemp.c45
1 files changed, 10 insertions, 35 deletions
diff --git a/debianutils/mktemp.c b/debianutils/mktemp.c
index 9fdf79b..c0d3a36 100644
--- a/debianutils/mktemp.c
+++ b/debianutils/mktemp.c
@@ -6,20 +6,7 @@
* Copyright (C) 2000 by Daniel Jacobowitz
* Written by Daniel Jacobowitz <dan@debian.org>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
*/
#include <stdio.h>
@@ -31,33 +18,21 @@
extern int mktemp_main(int argc, char **argv)
{
- unsigned char dir_flag = 0;
- int opt;
-
- while ((opt = getopt(argc, argv, "qd")) != -1) {
- if (opt == 'd') {
- dir_flag = 1;
- }
- else if (opt != 'q') {
- bb_show_usage();
- }
- }
-
- if (optind + 1 != argc) {
+ unsigned long flags = bb_getopt_ulflags(argc, argv, "dq");
+
+ if (optind + 1 != argc)
bb_show_usage();
- }
- if (dir_flag) {
- if (mkdtemp(argv[argc-1]) == NULL) {
+ if (flags & 1) {
+ if (mkdtemp(argv[optind]) == NULL)
return EXIT_FAILURE;
- }
- } else {
- if (mkstemp(argv[argc-1]) < 0) {
+ }
+ else {
+ if (mkstemp(argv[optind]) < 0)
return EXIT_FAILURE;
- }
}
- (void) puts(argv[argc-1]);
+ puts(argv[optind]);
return EXIT_SUCCESS;
}