diff options
author | Xabier Oneca | 2021-04-09 23:27:41 +0200 |
---|---|---|
committer | Denys Vlasenko | 2021-04-12 20:05:48 +0200 |
commit | 7ec254467c58047a8105fa688044e88f04a806d6 (patch) | |
tree | 49d9578c5534bbfbfce8bd1ceac694003dd8e608 | |
parent | de1a49cb419d931a62500eaddb7c888ee011eefe (diff) | |
download | busybox-7ec254467c58047a8105fa688044e88f04a806d6.zip busybox-7ec254467c58047a8105fa688044e88f04a806d6.tar.gz |
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>
-rw-r--r-- | coreutils/touch.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/coreutils/touch.c b/coreutils/touch.c index 68fb625..92e1341 100644 --- a/coreutils/touch.c +++ b/coreutils/touch.c @@ -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 +#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 +#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; |