Building upon our work in the previous commit to add members 'columnnum' and 'color_columno' to 'grep_opt', we teach show_line() how to respect those options. When requested, show_line() will display the column number of the first match on a non-context line. show_line() differentiates between context and non-context lines through the '&& cno' check. 'cno' will be equal to zero if and only if show_line() is invoked on a context line. It will be a non-zero value otherwise. Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> --- grep.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/grep.c b/grep.c index 7872a5d868..5aeb893263 100644 --- a/grep.c +++ b/grep.c @@ -1404,6 +1404,12 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol, output_color(opt, buf, strlen(buf), opt->color_lineno); output_sep(opt, sign); } + if (opt->columnnum && cno) { + char buf[32]; + xsnprintf(buf, sizeof(buf), "%d", cno); + output_color(opt, buf, strlen(buf), opt->color_columnno); + output_sep(opt, sign); + } if (opt->color) { regmatch_t match; enum grep_context ctx = GREP_CONTEXT_BODY; -- 2.17.0