From: Junio C Hamano Date: Mon, 09 Mar 2009 01:24:31 GMT Subject: [PATCH] grep: cast printf %.*s "precision" argument explicitly to int 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 --- Junio C Hamano 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