summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorXabier Oneca <xoneca@gmail.com>2021-04-09 23:27:41 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-04-12 20:05:48 +0200
commit7ec254467c58047a8105fa688044e88f04a806d6 (patch)
tree49d9578c5534bbfbfce8bd1ceac694003dd8e608
parentde1a49cb419d931a62500eaddb7c888ee011eefe (diff)
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.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/coreutils/touch.c b/coreutils/touch.c
index 68fb625fe..92e134168 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;