mktemp: add --tmpdir option
Make mktemp more compatible with coreutils. - add "--tmpdir" option - add long variants for "d,q,u" options Note: Upstream ca-certificate update script started using this option. function old new delta .rodata 104179 104219 +40 mktemp_main 186 194 +8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 48/0) Total: 48 bytes Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
b198e9aa93
commit
ecac9853f2
@ -72,13 +72,27 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
OPT_t = 1 << 2,
|
OPT_t = 1 << 2,
|
||||||
OPT_p = 1 << 3,
|
OPT_p = 1 << 3,
|
||||||
OPT_u = 1 << 4,
|
OPT_u = 1 << 4,
|
||||||
|
OPT_tmpdir = (1 << 5) * ENABLE_LONG_OPTS,
|
||||||
};
|
};
|
||||||
|
|
||||||
path = getenv("TMPDIR");
|
path = getenv("TMPDIR");
|
||||||
if (!path || path[0] == '\0')
|
if (!path || path[0] == '\0')
|
||||||
path = "/tmp";
|
path = "/tmp";
|
||||||
|
|
||||||
|
#if ENABLE_LONG_OPTS
|
||||||
|
opts = getopt32long(argv, "^"
|
||||||
|
"dqtp:u"
|
||||||
|
"\0"
|
||||||
|
"?1" /* 1 arg max */,
|
||||||
|
"directory\0" No_argument "d"
|
||||||
|
"quiet\0" No_argument "q"
|
||||||
|
"dry-run\0" No_argument "u"
|
||||||
|
"tmpdir\0" Optional_argument "\xff"
|
||||||
|
, &path, &path
|
||||||
|
);
|
||||||
|
#else
|
||||||
opts = getopt32(argv, "^" "dqtp:u" "\0" "?1"/*1 arg max*/, &path);
|
opts = getopt32(argv, "^" "dqtp:u" "\0" "?1"/*1 arg max*/, &path);
|
||||||
|
#endif
|
||||||
|
|
||||||
chp = argv[optind];
|
chp = argv[optind];
|
||||||
if (!chp) {
|
if (!chp) {
|
||||||
@ -95,7 +109,7 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (opts & (OPT_t|OPT_p))
|
if (opts & (OPT_t|OPT_p|OPT_tmpdir))
|
||||||
chp = concat_path_file(path, chp);
|
chp = concat_path_file(path, chp);
|
||||||
|
|
||||||
if (opts & OPT_u) {
|
if (opts & OPT_u) {
|
||||||
|
Loading…
Reference in New Issue
Block a user