BUG/MINOR: pattern: pattern comparison executed twice

If the pattern is set as case insensitive, the string comparison
is executed twice. The first time is insensitive comparison, the
second is sensitive.

This is a recent bug, no backport is needed.
diff --git a/src/pattern.c b/src/pattern.c
index 8380c63..38b1383 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -1222,11 +1222,14 @@
 				continue;
 			if (pattern.len != pat->len)
 				continue;
-			if ((pat->flags & PAT_F_IGNORE_CASE) &&
-			    strncasecmp(pattern.ptr.str, pat->ptr.str, pat->len) != 0)
-				continue;
-			if (strncmp(pattern.ptr.str, pat->ptr.str, pat->len) != 0)
-				continue;
+			if (pat->flags & PAT_F_IGNORE_CASE) {
+				if (strncasecmp(pattern.ptr.str, pat->ptr.str, pat->len) != 0)
+					continue;
+			}
+			else {
+				if (strncmp(pattern.ptr.str, pat->ptr.str, pat->len) != 0)
+					continue;
+			}
 			goto found;
 		}
 	}
@@ -1245,11 +1248,14 @@
 		list_for_each_entry(pat, &expr->patterns, list) {
 			if (pat->flags & PAT_F_TREE)
 				continue;
-			if ((pat->flags & PAT_F_IGNORE_CASE) &&
-			    strcasecmp(pattern.ptr.reg->regstr, pat->ptr.reg->regstr) != 0)
-				continue;
-			if (strcmp(pattern.ptr.reg->regstr, pat->ptr.reg->regstr) != 0)
-				continue;
+			if (pat->flags & PAT_F_IGNORE_CASE) {
+				if (strcasecmp(pattern.ptr.reg->regstr, pat->ptr.reg->regstr) != 0)
+					continue;
+			}
+			else {
+				if (strcmp(pattern.ptr.reg->regstr, pat->ptr.reg->regstr) != 0)
+					continue;
+			}
 			goto found;
 		}
 	}