| From 04b3de36d735275dd6dc2561e83200c14d65f0af Mon Sep 17 00:00:00 2001 |
| From: Jeff King <peff@peff.net> |
| Date: Thu, 29 Aug 2019 11:25:45 -0400 |
| Subject: fast-import: tighten parsing of boolean command line options |
| |
| commit 11e934d56e46875b24d8a047d44b45ff243f6715 upstream. |
| |
| We parse options like "--max-pack-size=" using skip_prefix(), which |
| makes sense to get at the bytes after the "=". However, we also parse |
| "--quiet" and "--stats" with skip_prefix(), which allows things like |
| "--quiet-nonsense" to behave like "--quiet". |
| |
| This was a mistaken conversion in 0f6927c229 (fast-import: put option |
| parsing code in separate functions, 2009-12-04). Let's tighten this to |
| an exact match, which was the original intent. |
| |
| Signed-off-by: Jeff King <peff@peff.net> |
| Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> |
| --- |
| fast-import.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/fast-import.c b/fast-import.c |
| index cb545d7df5..e8fbc22ddd 100644 |
| --- a/fast-import.c |
| +++ b/fast-import.c |
| @@ -3305,9 +3305,9 @@ static int parse_one_option(const char *option) |
| option_active_branches(option); |
| } else if (skip_prefix(option, "export-pack-edges=", &option)) { |
| option_export_pack_edges(option); |
| - } else if (starts_with(option, "quiet")) { |
| + } else if (!strcmp(option, "quiet")) { |
| show_stats = 0; |
| - } else if (starts_with(option, "stats")) { |
| + } else if (!strcmp(option, "stats")) { |
| show_stats = 1; |
| } else { |
| return 0; |
| -- |
| 2.24.0.393.g34dc348eaf |
| |