[PATCH 15/16] git: avoid magic number with skip_prefix
- From
Jeff King <peff@peff.net>
- Date
- Jun 18, 2014, 19:56 UTC
- Message-ID
- <20140618195648.GO22622@sigill.intra.peff.net>
- In-Reply-To
- <20140618194117.GA22269@sigill.intra.peff.net>
After handling options, any leftover arguments should be commands. However, we pass through "--help" and "--version", so that we convert them into "git help" and "git version" respectively.
This is a straightforward use of skip_prefix to avoid a magic number, but while we are there, it is worth adding a comment to explain this otherwise confusing behavior.
Signed-off-by: Jeff King <peff@peff.net> --- Another option would be to teach handle_options to convert "--version" into "version" itself. That's more disruptive, but I think would be less confusing.
git.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/git.c b/git.c index b2bb09e..1537f00 100644 --- a/git.c +++ b/git.c @@ -588,8 +588,8 @@ int main(int argc, char **av) argc--; handle_options(&argv, &argc, NULL); if (argc > 0) { - if (starts_with(argv[0], "--")) - argv[0] += 2; + /* translate --help and --version into commands */ + skip_prefix(argv[0], "--", &argv[0]); } else { /* The user didn't specify a command; give them help */ commit_pager_choice();
-- 2.0.0.566.gfe3e6b2