diff --git a/editors/vi.c b/editors/vi.c
index c6bb74c..5c601c7 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -2683,12 +2683,13 @@
 // Like strchr() but skipping backslash-escaped characters
 static char *strchr_backslash(const char *s, int c)
 {
-	for (; *s; ++s) {
+	while (*s) {
 		if (*s == c) {
 			return (char *)s;
-		} else if (*s == '\\' && *++s == '\0') {
-			break;
-		}
+		if (*s == '\\')
+			if (*++s == '\0')
+				break;
+		s++;
 	}
 	return NULL;
 }
@@ -3237,10 +3238,10 @@
 #  endif
 				if (TEST_LEN_F)	// match can be empty, no delete needed
 					text_hole_delete(found, found + len_F - 1,
-								TEST_UNDO1 ? ALLOW_UNDO_CHAIN: ALLOW_UNDO);
-				if (len_R) {	// insert the "replace" pattern, if required
+								TEST_UNDO1 ? ALLOW_UNDO_CHAIN : ALLOW_UNDO);
+				if (len_R != 0) {	// insert the "replace" pattern, if required
 					bias = string_insert(found, R,
-								TEST_UNDO2 ? ALLOW_UNDO_CHAIN: ALLOW_UNDO);
+								TEST_UNDO2 ? ALLOW_UNDO_CHAIN : ALLOW_UNDO);
 					found += bias;
 					ls += bias;
 					dot = ls;
@@ -3249,7 +3250,7 @@
 #  if ENABLE_FEATURE_VI_REGEX_SEARCH
 				free(R);
 #  endif
-				if (TEST_LEN_F || len_R) {
+				if (TEST_LEN_F || len_R != 0) {
 					dot = ls;
 					subs++;
 #  if ENABLE_FEATURE_VI_VERBOSE_STATUS
