From fa82824a598445a4fbe259e216eab1e53697160b Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Sat, 12 Mar 2016 09:52:16 +0000
Subject: [PATCH] Reducing the indentation by short-circuiting a loop.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5727 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog    |  1 +
 src/rcfile.c | 54 ++++++++++++++++++++++++++--------------------------
 2 files changed, 28 insertions(+), 27 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e25e1a4f..c7d01e1a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 	just once, in a single place.  And unnest two 'if's.
 	* src/rcfile.c (parse_one_include, parse_includes): New names for
 	these functions, to be more distinguishable.
+	* src/rcfile.c (parse_colors): Reduce the indentation.
 
 2016-03-11  Benno Schulenberg  <bensberg@justemail.net>
 	* src/browser.c (do_browser): Fix compilation when configured with
diff --git a/src/rcfile.c b/src/rcfile.c
index c3eeccb1..4e433865 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -718,37 +718,37 @@ void parse_colors(char *ptr, bool icase)
 	} else
 	    cancelled = TRUE;
 
-	if (expectend) {
-	    if (ptr == NULL || strncasecmp(ptr, "end=", 4) != 0) {
-		rcfile_error(
-			N_("\"start=\" requires a corresponding \"end=\""));
-		return;
-	    }
-	    ptr += 4;
-	    if (*ptr != '"') {
-		rcfile_error(
-			N_("Regex strings must begin and end with a \" character"));
-		continue;
-	    }
+	if (!expectend)
+	    continue;
 
-	    fgstr = ++ptr;
-	    ptr = parse_next_regex(ptr);
-	    if (ptr == NULL)
-		break;
+	if (ptr == NULL || strncasecmp(ptr, "end=", 4) != 0) {
+	    rcfile_error(N_("\"start=\" requires a corresponding \"end=\""));
+	    return;
+	}
 
-	    /* If the start regex was invalid, skip past the end regex
-	     * to stay in sync. */
-	    if (cancelled)
-		continue;
+	ptr += 4;
+	if (*ptr != '"') {
+	    rcfile_error(N_("Regex strings must begin and end with a \" character"));
+	    continue;
+	}
 
-	    /* If it's valid, save the ending regex string. */
-	    if (nregcomp(fgstr, icase ? REG_ICASE : 0))
-		newcolor->end_regex = mallocstrcpy(NULL, fgstr);
+	fgstr = ++ptr;
+	ptr = parse_next_regex(ptr);
+	if (ptr == NULL)
+	     break;
 
-	    /* Lame way to skip another static counter. */
-	    newcolor->id = live_syntax->nmultis;
-	    live_syntax->nmultis++;
-	}
+	/* If the start regex was invalid, skip past the end regex
+	 * to stay in sync. */
+	if (cancelled)
+	    continue;
+
+	/* If it's valid, save the ending regex string. */
+	if (nregcomp(fgstr, icase ? REG_ICASE : 0))
+	    newcolor->end_regex = mallocstrcpy(NULL, fgstr);
+
+	/* Lame way to skip another static counter. */
+	newcolor->id = live_syntax->nmultis;
+	live_syntax->nmultis++;
     }
 }
 
-- 
GitLab