patch 9.0.1237: code is indented more than necessary

Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11858)
diff --git a/src/spellfile.c b/src/spellfile.c
index 6247968..1a7bd1f 100644
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -1561,12 +1561,12 @@
     int		i = 0;
 
     res = ALLOC_MULT(int, mb_charlen(s) + 1);
-    if (res != NULL)
-    {
-	for (p = s; *p != NUL; )
-	    res[i++] = mb_ptr2char_adv(&p);
-	res[i] = NUL;
-    }
+    if (res == NULL)
+	return NULL;
+
+    for (p = s; *p != NUL; )
+	res[i++] = mb_ptr2char_adv(&p);
+    res[i] = NUL;
     return res;
 }
 
@@ -1598,27 +1598,27 @@
     if (len >= LONG_MAX / (long)sizeof(int))
 	// Invalid length, multiply with sizeof(int) would overflow.
 	return SP_FORMERROR;
-    if (len > 0)
-    {
-	// Allocate the byte array.
-	bp = alloc(len);
-	if (bp == NULL)
-	    return SP_OTHERERROR;
-	*bytsp = bp;
-	if (bytsp_len != NULL)
-	    *bytsp_len = len;
+    if (len <= 0)
+	return 0;
 
-	// Allocate the index array.
-	ip = lalloc_clear(len * sizeof(int), TRUE);
-	if (ip == NULL)
-	    return SP_OTHERERROR;
-	*idxsp = ip;
+    // Allocate the byte array.
+    bp = alloc(len);
+    if (bp == NULL)
+	return SP_OTHERERROR;
+    *bytsp = bp;
+    if (bytsp_len != NULL)
+	*bytsp_len = len;
 
-	// Recursively read the tree and store it in the array.
-	idx = read_tree_node(fd, bp, ip, len, 0, prefixtree, prefixcnt);
-	if (idx < 0)
-	    return idx;
-    }
+    // Allocate the index array.
+    ip = lalloc_clear(len * sizeof(int), TRUE);
+    if (ip == NULL)
+	return SP_OTHERERROR;
+    *idxsp = ip;
+
+    // Recursively read the tree and store it in the array.
+    idx = read_tree_node(fd, bp, ip, len, 0, prefixtree, prefixcnt);
+    if (idx < 0)
+	return idx;
     return 0;
 }
 
@@ -2167,15 +2167,14 @@
     static void
 spell_print_tree(wordnode_T *root)
 {
-    if (root != NULL)
-    {
-	// Clear the "wn_u1.index" fields, used to remember what has been
-	// done.
-	spell_clear_flags(root);
+    if (root == NULL)
+	return;
 
-	// Recursively print the tree.
-	spell_print_node(root, 0);
-    }
+    // Clear the "wn_u1.index" fields, used to remember what has been done.
+    spell_clear_flags(root);
+
+    // Recursively print the tree.
+    spell_print_node(root, 0);
 }
 #endif // SPELL_PRINTTREE
 
@@ -3429,15 +3428,15 @@
     fromto_T	*ftp;
     char_u	word[MAXWLEN];
 
-    if (ga_grow(gap, 1) == OK)
-    {
-	ftp = ((fromto_T *)gap->ga_data) + gap->ga_len;
-	(void)spell_casefold(curwin, from, (int)STRLEN(from), word, MAXWLEN);
-	ftp->ft_from = getroom_save(spin, word);
-	(void)spell_casefold(curwin, to, (int)STRLEN(to), word, MAXWLEN);
-	ftp->ft_to = getroom_save(spin, word);
-	++gap->ga_len;
-    }
+    if (ga_grow(gap, 1) != OK)
+	return;
+
+    ftp = ((fromto_T *)gap->ga_data) + gap->ga_len;
+    (void)spell_casefold(curwin, from, (int)STRLEN(from), word, MAXWLEN);
+    ftp->ft_from = getroom_save(spin, word);
+    (void)spell_casefold(curwin, to, (int)STRLEN(to), word, MAXWLEN);
+    ftp->ft_to = getroom_save(spin, word);
+    ++gap->ga_len;
 }
 
 /*
@@ -4700,31 +4699,31 @@
 
     // Skip the root itself, it's not actually used.  The first sibling is the
     // start of the tree.
-    if (root->wn_sibling != NULL)
-    {
-	hash_init(&ht);
-	n = node_compress(spin, root->wn_sibling, &ht, &tot);
+    if (root->wn_sibling == NULL)
+	return;
+
+    hash_init(&ht);
+    n = node_compress(spin, root->wn_sibling, &ht, &tot);
 
 #ifndef SPELL_PRINTTREE
-	if (spin->si_verbose || p_verbose > 2)
+    if (spin->si_verbose || p_verbose > 2)
 #endif
-	{
-	    if (tot > 1000000)
-		perc = (tot - n) / (tot / 100);
-	    else if (tot == 0)
-		perc = 0;
-	    else
-		perc = (tot - n) * 100 / tot;
-	    vim_snprintf((char *)IObuff, IOSIZE,
-		       _("Compressed %s: %ld of %ld nodes; %ld (%ld%%) remaining"),
-						       name, n, tot, tot - n, perc);
-	    spell_message(spin, IObuff);
-	}
-#ifdef SPELL_PRINTTREE
-	spell_print_tree(root->wn_sibling);
-#endif
-	hash_clear(&ht);
+    {
+	if (tot > 1000000)
+	    perc = (tot - n) / (tot / 100);
+	else if (tot == 0)
+	    perc = 0;
+	else
+	    perc = (tot - n) * 100 / tot;
+	vim_snprintf((char *)IObuff, IOSIZE,
+		_("Compressed %s: %ld of %ld nodes; %ld (%ld%%) remaining"),
+		name, n, tot, tot - n, perc);
+	spell_message(spin, IObuff);
     }
+#ifdef SPELL_PRINTTREE
+    spell_print_tree(root->wn_sibling);
+#endif
+    hash_clear(&ht);
 }
 
 /*
@@ -5465,11 +5464,11 @@
     }
 
     // Expand all the remaining arguments (e.g., $VIMRUNTIME).
-    if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK)
-    {
-	mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
-	FreeWild(fcount, fnames);
-    }
+    if (get_arglist_exp(arg, &fcount, &fnames, FALSE) != OK)
+	return;
+
+    mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
+    FreeWild(fcount, fnames);
 }
 
 /*
@@ -6392,70 +6391,70 @@
     int		aspath = FALSE;
     char_u	*lstart = curbuf->b_s.b_p_spl;
 
-    if (*curwin->w_s->b_p_spl != NUL && curwin->w_s->b_langp.ga_len > 0)
-    {
-	buf = alloc(MAXPATHL);
-	if (buf == NULL)
-	    return;
+    if (*curwin->w_s->b_p_spl == NUL || curwin->w_s->b_langp.ga_len <= 0)
+	return;
 
-	// Find the end of the language name.  Exclude the region.  If there
-	// is a path separator remember the start of the tail.
-	for (lend = curwin->w_s->b_p_spl; *lend != NUL
-			&& vim_strchr((char_u *)",._", *lend) == NULL; ++lend)
-	    if (vim_ispathsep(*lend))
-	    {
-		aspath = TRUE;
-		lstart = lend + 1;
-	    }
+    buf = alloc(MAXPATHL);
+    if (buf == NULL)
+	return;
 
-	// Loop over all entries in 'runtimepath'.  Use the first one where we
-	// are allowed to write.
-	rtp = p_rtp;
-	while (*rtp != NUL)
+    // Find the end of the language name.  Exclude the region.  If there
+    // is a path separator remember the start of the tail.
+    for (lend = curwin->w_s->b_p_spl; *lend != NUL
+	    && vim_strchr((char_u *)",._", *lend) == NULL; ++lend)
+	if (vim_ispathsep(*lend))
 	{
-	    if (aspath)
-		// Use directory of an entry with path, e.g., for
-		// "/dir/lg.utf-8.spl" use "/dir".
-		vim_strncpy(buf, curbuf->b_s.b_p_spl,
-					    lstart - curbuf->b_s.b_p_spl - 1);
-	    else
-		// Copy the path from 'runtimepath' to buf[].
-		copy_option_part(&rtp, buf, MAXPATHL, ",");
-	    if (filewritable(buf) == 2)
-	    {
-		// Use the first language name from 'spelllang' and the
-		// encoding used in the first loaded .spl file.
-		if (aspath)
-		    vim_strncpy(buf, curbuf->b_s.b_p_spl,
-						  lend - curbuf->b_s.b_p_spl);
-		else
-		{
-		    // Create the "spell" directory if it doesn't exist yet.
-		    l = (int)STRLEN(buf);
-		    vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
-		    if (filewritable(buf) != 2)
-			vim_mkdir(buf, 0755);
-
-		    l = (int)STRLEN(buf);
-		    vim_snprintf((char *)buf + l, MAXPATHL - l,
-				 "/%.*s", (int)(lend - lstart), lstart);
-		}
-		l = (int)STRLEN(buf);
-		fname = LANGP_ENTRY(curwin->w_s->b_langp, 0)
-							 ->lp_slang->sl_fname;
-		vim_snprintf((char *)buf + l, MAXPATHL - l, ".%s.add",
-			fname != NULL
-			  && strstr((char *)gettail(fname), ".ascii.") != NULL
-				       ? (char_u *)"ascii" : spell_enc());
-		set_option_value_give_err((char_u *)"spellfile",
-							   0L, buf, OPT_LOCAL);
-		break;
-	    }
-	    aspath = FALSE;
+	    aspath = TRUE;
+	    lstart = lend + 1;
 	}
 
-	vim_free(buf);
+    // Loop over all entries in 'runtimepath'.  Use the first one where we
+    // are allowed to write.
+    rtp = p_rtp;
+    while (*rtp != NUL)
+    {
+	if (aspath)
+	    // Use directory of an entry with path, e.g., for
+	    // "/dir/lg.utf-8.spl" use "/dir".
+	    vim_strncpy(buf, curbuf->b_s.b_p_spl,
+		    lstart - curbuf->b_s.b_p_spl - 1);
+	else
+	    // Copy the path from 'runtimepath' to buf[].
+	    copy_option_part(&rtp, buf, MAXPATHL, ",");
+	if (filewritable(buf) == 2)
+	{
+	    // Use the first language name from 'spelllang' and the
+	    // encoding used in the first loaded .spl file.
+	    if (aspath)
+		vim_strncpy(buf, curbuf->b_s.b_p_spl,
+			lend - curbuf->b_s.b_p_spl);
+	    else
+	    {
+		// Create the "spell" directory if it doesn't exist yet.
+		l = (int)STRLEN(buf);
+		vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
+		if (filewritable(buf) != 2)
+		    vim_mkdir(buf, 0755);
+
+		l = (int)STRLEN(buf);
+		vim_snprintf((char *)buf + l, MAXPATHL - l,
+			"/%.*s", (int)(lend - lstart), lstart);
+	    }
+	    l = (int)STRLEN(buf);
+	    fname = LANGP_ENTRY(curwin->w_s->b_langp, 0)
+		->lp_slang->sl_fname;
+	    vim_snprintf((char *)buf + l, MAXPATHL - l, ".%s.add",
+		    fname != NULL
+		    && strstr((char *)gettail(fname), ".ascii.") != NULL
+		    ? (char_u *)"ascii" : spell_enc());
+	    set_option_value_give_err((char_u *)"spellfile",
+		    0L, buf, OPT_LOCAL);
+	    break;
+	}
+	aspath = FALSE;
     }
+
+    vim_free(buf);
 }