[PATCH] diff-helper: fix R/C score parsing under -z flag.
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 29, 2005, 04:20 UTC
- Message-ID
- <7v3bs6slwl.fsf_-_@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vr7frrw8x.fsf_-_@assigned-by-dhcp.cox.net>
The score number that follows R/C status letter was parsed but the parse pointer was not updated, causing the entire line to become unrecognized. This patch fixes this problem.
Signed-off-by: Junio C Hamano <junkio@cox.net> ---
diff-helper.c | 17 ++++++++--------- 1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/diff-helper.c b/diff-helper.c --- a/diff-helper.c +++ b/diff-helper.c @@ -80,17 +80,16 @@ int main(int ac, const char **av) { if (!strchr("MCRNDU", status)) break; two_paths = score = 0; - if (status == 'R' || status == 'C') { + if (status == 'R' || status == 'C') two_paths = 1; - sscanf(cp, "%d", &score); - if (line_termination) { - cp = strchr(cp, - inter_name_termination); - if (!cp) - break; - } - } + /* pick up score if exists */ + if (sscanf(cp, "%d", &score) != 1) + score = 0; + cp = strchr(cp, + inter_name_termination); + if (!cp) + break; if (*cp++ != inter_name_termination) break; ------------------------------------------------