changeset 31075:9fe10dc9aeec v9.0.0872

patch 9.0.0872: code is indented more than needed Commit: https://github.com/vim/vim/commit/623e94e13810e109c6aa201bcf3a8278429502f3 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Nov 13 18:11:17 2022 +0000 patch 9.0.0872: code is indented more than needed Problem: Code is indented more than needed. Solution: Return early. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/11538)
author Bram Moolenaar <Bram@vim.org>
date Sun, 13 Nov 2022 19:15:04 +0100
parents a64ca9f84fd3
children d6352b62935d
files src/cmdhist.c src/version.c
diffstat 2 files changed, 116 insertions(+), 111 deletions(-) [+]
line wrap: on
line diff
--- a/src/cmdhist.c
+++ b/src/cmdhist.c
@@ -131,68 +131,70 @@ init_history(void)
 
     // If size of history table changed, reallocate it
     newlen = (int)p_hi;
-    if (newlen != hislen)			// history length changed
+    if (newlen == hislen)		// history length didn't change
+	return;
+
+    // history length changed
+    for (type = 0; type < HIST_COUNT; ++type)   // adjust the tables
     {
-	for (type = 0; type < HIST_COUNT; ++type)   // adjust the tables
+	if (newlen)
 	{
-	    if (newlen)
+	    temp = ALLOC_MULT(histentry_T, newlen);
+	    if (temp == NULL)   // out of memory!
 	    {
-		temp = ALLOC_MULT(histentry_T, newlen);
-		if (temp == NULL)   // out of memory!
-		{
-		    if (type == 0)  // first one: just keep the old length
-		    {
-			newlen = hislen;
-			break;
-		    }
-		    // Already changed one table, now we can only have zero
-		    // length for all tables.
-		    newlen = 0;
-		    type = -1;
-		    continue;
-		}
-	    }
-	    else
-		temp = NULL;
-	    if (newlen == 0 || temp != NULL)
-	    {
-		if (hisidx[type] < 0)		// there are no entries yet
+		if (type == 0)  // first one: just keep the old length
 		{
-		    for (i = 0; i < newlen; ++i)
-			clear_hist_entry(&temp[i]);
-		}
-		else if (newlen > hislen)	// array becomes bigger
-		{
-		    for (i = 0; i <= hisidx[type]; ++i)
-			temp[i] = history[type][i];
-		    j = i;
-		    for ( ; i <= newlen - (hislen - hisidx[type]); ++i)
-			clear_hist_entry(&temp[i]);
-		    for ( ; j < hislen; ++i, ++j)
-			temp[i] = history[type][j];
+		    newlen = hislen;
+		    break;
 		}
-		else				// array becomes smaller or 0
-		{
-		    j = hisidx[type];
-		    for (i = newlen - 1; ; --i)
-		    {
-			if (i >= 0)		// copy newest entries
-			    temp[i] = history[type][j];
-			else			// remove older entries
-			    vim_free(history[type][j].hisstr);
-			if (--j < 0)
-			    j = hislen - 1;
-			if (j == hisidx[type])
-			    break;
-		    }
-		    hisidx[type] = newlen - 1;
-		}
-		vim_free(history[type]);
-		history[type] = temp;
+		// Already changed one table, now we can only have zero
+		// length for all tables.
+		newlen = 0;
+		type = -1;
+		continue;
 	    }
 	}
-	hislen = newlen;
+	else
+	    temp = NULL;
+
+	if (newlen != 0 && temp == NULL)
+	    continue;
+
+	if (hisidx[type] < 0)		// there are no entries yet
+	{
+	    for (i = 0; i < newlen; ++i)
+		clear_hist_entry(&temp[i]);
+	}
+	else if (newlen > hislen)	// array becomes bigger
+	{
+	    for (i = 0; i <= hisidx[type]; ++i)
+		temp[i] = history[type][i];
+	    j = i;
+	    for ( ; i <= newlen - (hislen - hisidx[type]); ++i)
+		clear_hist_entry(&temp[i]);
+	    for ( ; j < hislen; ++i, ++j)
+		temp[i] = history[type][j];
+	}
+	else				// array becomes smaller or 0
+	{
+	    j = hisidx[type];
+	    for (i = newlen - 1; ; --i)
+	    {
+		if (i >= 0)		// copy newest entries
+		    temp[i] = history[type][j];
+		else			// remove older entries
+		    vim_free(history[type][j].hisstr);
+		if (--j < 0)
+		    j = hislen - 1;
+		if (j == hisidx[type])
+		    break;
+	    }
+	    hisidx[type] = newlen - 1;
+	}
+	vim_free(history[type]);
+	history[type] = temp;
     }
+    hislen = newlen;
 }
 
     void
@@ -244,23 +246,22 @@ in_history(
 	    i = hislen - 1;
     } while (i != hisidx[type]);
 
-    if (last_i >= 0)
+    if (last_i < 0)
+	return FALSE;
+
+    str = history[type][i].hisstr;
+    while (i != hisidx[type])
     {
-	str = history[type][i].hisstr;
-	while (i != hisidx[type])
-	{
-	    if (++i >= hislen)
-		i = 0;
-	    history[type][last_i] = history[type][i];
-	    last_i = i;
-	}
-	history[type][i].hisnum = ++hisnum[type];
-	history[type][i].viminfo = FALSE;
-	history[type][i].hisstr = str;
-	history[type][i].time_set = vim_time();
-	return TRUE;
+	if (++i >= hislen)
+	    i = 0;
+	history[type][last_i] = history[type][i];
+	last_i = i;
     }
-    return FALSE;
+    history[type][i].hisnum = ++hisnum[type];
+    history[type][i].viminfo = FALSE;
+    history[type][i].hisstr = str;
+    history[type][i].time_set = vim_time();
+    return TRUE;
 }
 
 /*
@@ -328,25 +329,26 @@ add_to_history(
 	}
 	last_maptick = -1;
     }
-    if (!in_history(histype, new_entry, TRUE, sep, FALSE))
-    {
-	if (++hisidx[histype] == hislen)
-	    hisidx[histype] = 0;
-	hisptr = &history[histype][hisidx[histype]];
-	vim_free(hisptr->hisstr);
+
+    if (in_history(histype, new_entry, TRUE, sep, FALSE))
+	return;
+
+    if (++hisidx[histype] == hislen)
+	hisidx[histype] = 0;
+    hisptr = &history[histype][hisidx[histype]];
+    vim_free(hisptr->hisstr);
 
-	// Store the separator after the NUL of the string.
-	len = (int)STRLEN(new_entry);
-	hisptr->hisstr = vim_strnsave(new_entry, len + 2);
-	if (hisptr->hisstr != NULL)
-	    hisptr->hisstr[len + 1] = sep;
+    // Store the separator after the NUL of the string.
+    len = (int)STRLEN(new_entry);
+    hisptr->hisstr = vim_strnsave(new_entry, len + 2);
+    if (hisptr->hisstr != NULL)
+	hisptr->hisstr[len + 1] = sep;
 
-	hisptr->hisnum = ++hisnum[histype];
-	hisptr->viminfo = FALSE;
-	hisptr->time_set = vim_time();
-	if (histype == HIST_SEARCH && in_map)
-	    last_maptick = maptick;
-    }
+    hisptr->hisnum = ++hisnum[histype];
+    hisptr->viminfo = FALSE;
+    hisptr->time_set = vim_time();
+    if (histype == HIST_SEARCH && in_map)
+	last_maptick = maptick;
 }
 
 #if defined(FEAT_EVAL) || defined(PROTO)
@@ -557,17 +559,16 @@ f_histadd(typval_T *argvars UNUSED, typv
 
     str = tv_get_string_chk(&argvars[0]);	// NULL on type error
     histype = str != NULL ? get_histtype(str) : -1;
-    if (histype >= 0)
-    {
-	str = tv_get_string_buf(&argvars[1], buf);
-	if (*str != NUL)
-	{
-	    init_history();
-	    add_to_history(histype, str, FALSE, NUL);
-	    rettv->vval.v_number = TRUE;
-	    return;
-	}
-    }
+    if (histype < 0)
+	return;
+
+    str = tv_get_string_buf(&argvars[1], buf);
+    if (*str == NUL)
+	return;
+
+    init_history();
+    add_to_history(histype, str, FALSE, NUL);
+    rettv->vval.v_number = TRUE;
 }
 
 /*
@@ -670,20 +671,22 @@ remove_key_from_history(void)
     if (i < 0)
 	return;
     p = history[HIST_CMD][i].hisstr;
-    if (p != NULL)
-	for ( ; *p; ++p)
-	    if (STRNCMP(p, "key", 3) == 0 && !isalpha(p[3]))
-	    {
-		p = vim_strchr(p + 3, '=');
-		if (p == NULL)
-		    break;
-		++p;
-		for (i = 0; p[i] && !VIM_ISWHITE(p[i]); ++i)
-		    if (p[i] == '\\' && p[i + 1])
-			++i;
-		STRMOVE(p, p + i);
-		--p;
-	    }
+    if (p == NULL)
+	return;
+
+    for ( ; *p; ++p)
+	if (STRNCMP(p, "key", 3) == 0 && !isalpha(p[3]))
+	{
+	    p = vim_strchr(p + 3, '=');
+	    if (p == NULL)
+		break;
+	    ++p;
+	    for (i = 0; p[i] && !VIM_ISWHITE(p[i]); ++i)
+		if (p[i] == '\\' && p[i + 1])
+		    ++i;
+	    STRMOVE(p, p + i);
+	    --p;
+	}
 }
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    872,
+/**/
     871,
 /**/
     870,