aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debianutils/readlink.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/debianutils/readlink.c b/debianutils/readlink.c
index 3042b83ec..83abdbfa6 100644
--- a/debianutils/readlink.c
+++ b/debianutils/readlink.c
@@ -18,16 +18,16 @@
int readlink_main(int argc, char **argv)
{
char *buf;
- unsigned long opt = bb_getopt_ulflags(argc, argv,
- ENABLE_FEATURE_READLINK_FOLLOW ? "f" : "");
+ unsigned long opt = ENABLE_FEATURE_READLINK_FOLLOW ?
+ bb_getopt_ulflags(argc, argv, "f") : 0;
- if (optind + 1 != argc)
- bb_show_usage();
+ if (argc != (ENABLE_FEATURE_READLINK_FOLLOW ? optind + 1 : 2))
+ bb_show_usage();
- if (ENABLE_FEATURE_READLINK_FOLLOW && (opt & READLINK_FLAG_f))
+ if (opt & READLINK_FLAG_f)
buf = realpath(argv[optind], NULL);
else
- buf = xreadlink(argv[optind]);
+ buf = xreadlink(argv[ENABLE_FEATURE_READLINK_FOLLOW ? optind : 1]);
if (!buf)
return EXIT_FAILURE;