From: Ævar Arnfjörð Bjarmason Date: Sun, 06 Nov 2011 12:06:24 GMT Subject: [PATCH 3/3] grep: get rid of useless x < 0 comparison on an enum member Message-ID: <1320581184-4557-4-git-send-email-avarab@gmail.com> In-Reply-To: <1320581184-4557-1-git-send-email-avarab@gmail.com> Remove an "p->field < 0" comparison in grep.c that'll always be false. In this case "p" is a "grep_pat" where "field" is defined as: enum grep_header_field field; And grep_header_field is in turn defined as: enum grep_header_field { GREP_HEADER_AUTHOR = 0, GREP_HEADER_COMMITTER }; Meaning that this comparison will always be false. This was spotted by clang 2.9 which produced the following warning while compiling grep.c: grep.c:330:16: warning: comparison of unsigned enum expression < 0 is always false [-Wtautological-compare] if (p->field < 0 || GREP_HEADER_FIELD_MAX <= p->field) ~~~~~~~~ ^ ~ Signed-off-by: Ævar Arnfjörð Bjarmason --- grep.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/grep.c b/grep.c index b29d09c..025d3f8 100644 --- a/grep.c +++ b/grep.c @@ -327,7 +327,7 @@ static struct grep_expr *prep_header_patterns(struct grep_opt *opt) for (p = opt->header_list; p; p = p->next) { if (p->token != GREP_PATTERN_HEAD) die("bug: a non-header pattern in grep header list."); - if (p->field < 0 || GREP_HEADER_FIELD_MAX <= p->field) + if (GREP_HEADER_FIELD_MAX <= p->field) die("bug: unknown header field %d", p->field); compile_regexp(p, opt); } -- 1.7.6.3