From: Junio C Hamano Date: Sun, 29 May 2005 04:20:42 GMT Subject: [PATCH] diff-helper: fix R/C score parsing under -z flag. 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 --- 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; ------------------------------------------------