touch: remove unneeded GETOPT32 defines
Long options handling (getopt32 vs getopt32long) is done in libbb.h, no need to care here of the same logic. This cleans the code a bit. Also, --no-create was grouped as a SUSv3 option, where as the short -c was not. Even if it is part of SUS, leave it out as was the short option. v2: Fix for disabled ENABLE_LONG_OPTS. getopt32long does not like IF_FEATURE_xxx() style conditionals... :/ Signed-off-by: Xabier Oneca <xoneca@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
de1a49cb41
commit
7ec254467c
@ -97,23 +97,18 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
|
||||
OPT_m = (1 << 5) * ENABLE_FEATURE_TOUCH_SUSV3,
|
||||
OPT_h = (1 << 6) * ENABLE_FEATURE_TOUCH_NODEREF,
|
||||
};
|
||||
#if ENABLE_FEATURE_TOUCH_SUSV3
|
||||
/* NULL = use current time */
|
||||
const struct timeval *newtime = NULL;
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char touch_longopts[] ALIGN1 =
|
||||
/* name, has_arg, val */
|
||||
"no-create\0" No_argument "c"
|
||||
"reference\0" Required_argument "r"
|
||||
"date\0" Required_argument "d"
|
||||
IF_FEATURE_TOUCH_SUSV3("reference\0" Required_argument "r")
|
||||
IF_FEATURE_TOUCH_SUSV3("date\0" Required_argument "d")
|
||||
IF_FEATURE_TOUCH_NODEREF("no-dereference\0" No_argument "h")
|
||||
;
|
||||
# define GETOPT32 getopt32long
|
||||
# define LONGOPTS ,touch_longopts
|
||||
# else
|
||||
# define GETOPT32 getopt32
|
||||
# define LONGOPTS
|
||||
#endif
|
||||
#if ENABLE_FEATURE_TOUCH_SUSV3
|
||||
char *reference_file = NULL;
|
||||
char *date_str = NULL;
|
||||
/* timebuf[0] is atime, timebuf[1] is mtime */
|
||||
@ -123,20 +118,20 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
|
||||
# define reference_file NULL
|
||||
# define date_str NULL
|
||||
# define timebuf ((struct timeval*)NULL)
|
||||
# define GETOPT32 getopt32
|
||||
# define LONGOPTS
|
||||
#endif
|
||||
|
||||
/* -d and -t both set time. In coreutils,
|
||||
* accepted data format differs a bit between -d and -t.
|
||||
* We accept the same formats for both */
|
||||
opts = GETOPT32(argv, "c" IF_FEATURE_TOUCH_SUSV3("r:d:t:am")
|
||||
opts = getopt32long(argv, "c" IF_FEATURE_TOUCH_SUSV3("r:d:t:am")
|
||||
IF_FEATURE_TOUCH_NODEREF("h")
|
||||
/*ignored:*/ "f" IF_NOT_FEATURE_TOUCH_SUSV3("am")
|
||||
LONGOPTS
|
||||
IF_FEATURE_TOUCH_SUSV3(, &reference_file)
|
||||
IF_FEATURE_TOUCH_SUSV3(, &date_str)
|
||||
IF_FEATURE_TOUCH_SUSV3(, &date_str)
|
||||
/*ignored:*/ "f" IF_NOT_FEATURE_TOUCH_SUSV3("am"),
|
||||
touch_longopts
|
||||
#if ENABLE_FEATURE_TOUCH_SUSV3
|
||||
, &reference_file
|
||||
, &date_str
|
||||
, &date_str
|
||||
#endif
|
||||
);
|
||||
|
||||
argv += optind;
|
||||
|
Loading…
Reference in New Issue
Block a user