From ca64d061e0ddf7fa1496a15c75eb5e730c4360e0 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Thu, 4 Aug 2011 06:36:32 +0200 Subject: git-check-attr: Fix command-line handling to match docs According to the git-check-attr synopsis, if the '--stdin' option is used then no pathnames are expected on the command line. Change the behavior to match this description; namely, if '--stdin' is used but not '--', then treat all command-line arguments as attribute names. Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- builtin/check-attr.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'builtin/check-attr.c') diff --git a/builtin/check-attr.c b/builtin/check-attr.c index b0d2ebc3dc..f20772ad6e 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -111,15 +111,18 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix) } else if (doubledash == 0) { error_with_usage("No attribute specified"); } else if (doubledash < 0) { - /* - * There is no double dash; treat the first - * argument as an attribute. - */ if (!argc) error_with_usage("No attribute specified"); - cnt = 1; - filei = 1; + if (stdin_paths) { + /* Treat all arguments as attribute names. */ + cnt = argc; + filei = argc; + } else { + /* Treat exactly one argument as an attribute name. */ + cnt = 1; + filei = 1; + } } else { cnt = doubledash; filei = doubledash + 1; -- cgit v1.2.1