diff --git a/coreutils/basename.c b/coreutils/basename.c index 177e023cd..1f7a13713 100644 --- a/coreutils/basename.c +++ b/coreutils/basename.c @@ -51,6 +51,11 @@ int basename_main(int argc, char **argv) size_t m, n; char *s; + if (argv[1] && strcmp(argv[1], "--") == 0) { + argv++; + argc--; + } + if ((unsigned)(argc-2) >= 2) { bb_show_usage(); } diff --git a/libbb/single_argv.c b/libbb/single_argv.c index 85137b40f..64844ddf8 100644 --- a/libbb/single_argv.c +++ b/libbb/single_argv.c @@ -10,6 +10,8 @@ char* FAST_FUNC single_argv(char **argv) { + if (argv[1] && strcmp(argv[1], "--") == 0) + argv++; if (!argv[1] || argv[2]) bb_show_usage(); return argv[1];