summaryrefslogtreecommitdiff
path: root/src/basename.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/basename.c')
-rw-r--r--src/basename.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/basename.c b/src/basename.c
index df6d33731..261200206 100644
--- a/src/basename.c
+++ b/src/basename.c
@@ -33,6 +33,7 @@
#include "long-options.h"
#include "dirname.h"
#include "error.h"
+#include "quote.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "basename"
@@ -109,10 +110,15 @@ main (int argc, char **argv)
++argv;
}
- if (argc <= 1 || argc > 3)
+ if (argc < 2)
{
- error (0, 0, (argc <= 1 ? _("too few arguments")
- : _("too many arguments")));
+ error (0, 0, _("missing operand"));
+ usage (EXIT_FAILURE);
+ }
+
+ if (3 < argc)
+ {
+ error (0, 0, _("extra operand %s"), quote (argv[3]));
usage (EXIT_FAILURE);
}