[PATCH] grep: cast printf %.*s "precision" argument explicitly to int
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 9, 2009, 01:24 UTC
- Message-ID
- <7vljrfij3k.fsf_-_@gitster.siamese.dyndns.org>
- In-Reply-To
- <7vtz63ijoz.fsf@gitster.siamese.dyndns.org>
On some systems, regoff_t that is the type of rm_so/rm_eo members are wider than int; %.*s precision specifier expects an int, so use an explicit cast.
A breakage reported on Darwin by Brian Gernhardt should be fixed with this patch.
Signed-off-by: Junio C Hamano <gitster@pobox.com> ---
Junio C Hamano <gitster@pobox.com> writes:
> Brian, would this patch help?
A resend with a commit log message.
grep.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/grep.c b/grep.c index cace1c8..be99b34 100644 --- a/grep.c +++ b/grep.c @@ -490,9 +490,9 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol, *eol = '\0'; while (next_match(opt, bol, eol, ctx, &match, eflags)) { printf("%.*s%s%.*s%s", - match.rm_so, bol, + (int)match.rm_so, bol, opt->color_match, - match.rm_eo - match.rm_so, bol + match.rm_so, + (int)(match.rm_eo - match.rm_so), bol + match.rm_so, GIT_COLOR_RESET); bol += match.rm_eo; rest -= match.rm_eo;
-- 1.6.2.206.g5bda76