aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <gocdundar@gmail.com>2023-11-12 15:54:54 +0100
committerdundargoc <33953936+dundargoc@users.noreply.github.com>2023-11-13 23:39:56 +0100
commit28f4f3c48498086307ed825d1761edb5789ca0e8 (patch)
tree880d2104092261fe0457b17a9ddda8a6e0f7f2ed
parent48bcc7b9710d6db619b05254ea87f4087cdd9764 (diff)
downloadrneovim-28f4f3c48498086307ed825d1761edb5789ca0e8.tar.gz
rneovim-28f4f3c48498086307ed825d1761edb5789ca0e8.tar.bz2
rneovim-28f4f3c48498086307ed825d1761edb5789ca0e8.zip
refactor: follow style guide
- reduce variable scope - prefer initialization over declaration and assignment - use bool to represent boolean values
-rw-r--r--src/nvim/arglist.c7
-rw-r--r--src/nvim/buffer.c70
-rw-r--r--src/nvim/change.c16
-rw-r--r--src/nvim/charset.c15
-rw-r--r--src/nvim/cmdexpand.c54
-rw-r--r--src/nvim/cmdhist.c7
-rw-r--r--src/nvim/cursor_shape.c3
-rw-r--r--src/nvim/debugger.c3
-rw-r--r--src/nvim/diff.c6
-rw-r--r--src/nvim/digraph.c4
-rw-r--r--src/nvim/drawline.c6
-rw-r--r--src/nvim/edit.c135
-rw-r--r--src/nvim/eval.c15
-rw-r--r--src/nvim/ex_cmds.c102
-rw-r--r--src/nvim/ex_cmds2.c29
-rw-r--r--src/nvim/ex_docmd.c23
-rw-r--r--src/nvim/ex_eval.c17
-rw-r--r--src/nvim/ex_getln.c33
-rw-r--r--src/nvim/ex_session.c23
-rw-r--r--src/nvim/fileio.c23
-rw-r--r--src/nvim/getchar.c2
-rw-r--r--src/nvim/grid.c4
-rw-r--r--src/nvim/help.c17
-rw-r--r--src/nvim/insexpand.c15
-rw-r--r--src/nvim/keycodes.c6
-rw-r--r--src/nvim/main.c10
-rw-r--r--src/nvim/match.c6
-rw-r--r--src/nvim/mbyte.c64
-rw-r--r--src/nvim/menu.c6
-rw-r--r--src/nvim/message.c9
-rw-r--r--src/nvim/ops.c4
-rw-r--r--src/nvim/os/shell.c4
-rw-r--r--src/nvim/path.c26
-rw-r--r--src/nvim/popupmenu.c3
-rw-r--r--src/nvim/profile.c3
-rw-r--r--src/nvim/runtime.c4
-rw-r--r--src/nvim/spellfile.c18
-rw-r--r--src/nvim/strings.c7
-rw-r--r--src/nvim/syntax.c19
-rw-r--r--src/nvim/textformat.c16
-rw-r--r--src/nvim/ugrid.c4
-rw-r--r--src/nvim/version.c3
42 files changed, 287 insertions, 554 deletions
diff --git a/src/nvim/arglist.c b/src/nvim/arglist.c
index 7f75506c1e..433032fbf9 100644
--- a/src/nvim/arglist.c
+++ b/src/nvim/arglist.c
@@ -254,9 +254,8 @@ void alist_slash_adjust(void)
static char *do_one_arg(char *str)
{
char *p;
- bool inbacktick;
- inbacktick = false;
+ bool inbacktick = false;
for (p = str; *str; str++) {
// When the backslash is used for escaping the special meaning of a
// character we need to keep it until wildcard expansion.
@@ -834,10 +833,8 @@ char *get_arglist_name(expand_T *xp FUNC_ATTR_UNUSED, int idx)
/// Get the file name for an argument list entry.
char *alist_name(aentry_T *aep)
{
- buf_T *bp;
-
// Use the name from the associated buffer if it exists.
- bp = buflist_findnr(aep->ae_fnum);
+ buf_T *bp = buflist_findnr(aep->ae_fnum);
if (bp == NULL || bp->b_fname == NULL) {
return aep->ae_fname;
}
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 677809459c..230cd4cef7 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -134,13 +134,12 @@ int get_highest_fnum(void)
static int read_buffer(int read_stdin, exarg_T *eap, int flags)
{
int retval = OK;
- linenr_T line_count;
bool silent = shortmess(SHM_FILEINFO);
// Read from the buffer which the text is already filled in and append at
// the end. This makes it possible to retry when 'fileformat' or
// 'fileencoding' was guessed wrong.
- line_count = curbuf->b_ml.ml_line_count;
+ linenr_T line_count = curbuf->b_ml.ml_line_count;
retval = readfile(read_stdin ? NULL : curbuf->b_ffname,
read_stdin ? NULL : curbuf->b_fname,
line_count, 0, (linenr_T)MAXLNUM, eap,
@@ -1039,9 +1038,8 @@ char *do_bufdel(int command, char *arg, int addr_count, int start_bnr, int end_b
{
int do_current = 0; // delete current buffer?
int deleted = 0; // number of buffers deleted
- char *errormsg = NULL; // return value
+ char *errormsg = NULL; // return value
int bnr; // buffer number
- char *p;
if (addr_count == 0) {
(void)do_buffer(command, DOBUF_CURRENT, FORWARD, 0, forceit);
@@ -1078,7 +1076,7 @@ char *do_bufdel(int command, char *arg, int addr_count, int start_bnr, int end_b
break;
}
if (!ascii_isdigit(*arg)) {
- p = skiptowhite_esc(arg);
+ char *p = skiptowhite_esc(arg);
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE, false, false);
if (bnr < 0) { // failed
break;
@@ -1125,7 +1123,6 @@ char *do_bufdel(int command, char *arg, int addr_count, int start_bnr, int end_b
/// Used when it is wiped out and it's the last buffer.
static int empty_curbuf(int close_others, int forceit, int action)
{
- int retval;
buf_T *buf = curbuf;
if (action == DOBUF_UNLOAD) {
@@ -1158,8 +1155,7 @@ static int empty_curbuf(int close_others, int forceit, int action)
}
setpcmark();
- retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
- forceit ? ECMD_FORCEIT : 0, curwin);
+ int retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, forceit ? ECMD_FORCEIT : 0, curwin);
// do_ecmd() may create a new buffer, then we have to delete
// the old one. But do_ecmd() may have done that already, check
@@ -2044,12 +2040,11 @@ void free_buf_options(buf_T *buf, int free_p_ff)
/// Return FAIL for failure, OK for success.
int buflist_getfile(int n, linenr_T lnum, int options, int forceit)
{
- buf_T *buf;
win_T *wp = NULL;
fmark_T *fm = NULL;
colnr_T col;
- buf = buflist_findnr(n);
+ buf_T *buf = buflist_findnr(n);
if (buf == NULL) {
if ((options & GETF_ALT) && n == 0) {
emsg(_(e_noalt));
@@ -2121,9 +2116,7 @@ int buflist_getfile(int n, linenr_T lnum, int options, int forceit)
/// Go to the last known line number for the current buffer.
void buflist_getfpos(void)
{
- pos_T *fpos;
-
- fpos = &buflist_findfmark(curbuf)->mark;
+ pos_T *fpos = &buflist_findfmark(curbuf)->mark;
curwin->w_cursor.lnum = fpos->lnum;
check_cursor_lnum(curwin);
@@ -2143,18 +2136,17 @@ void buflist_getfpos(void)
/// @return buffer or NULL if not found
buf_T *buflist_findname_exp(char *fname)
{
- char *ffname;
buf_T *buf = NULL;
// First make the name into a full path name
- ffname = FullName_save(fname,
+ char *ffname = FullName_save(fname,
#ifdef UNIX
- // force expansion, get rid of symbolic links
- true
+ // force expansion, get rid of symbolic links
+ true
#else
- false
+ false
#endif
- ); // NOLINT(whitespace/parens)
+ ); // NOLINT(whitespace/parens)
if (ffname != NULL) {
buf = buflist_findname(ffname);
xfree(ffname);
@@ -2204,12 +2196,6 @@ int buflist_findpat(const char *pattern, const char *pattern_end, bool unlisted,
FUNC_ATTR_NONNULL_ARG(1)
{
int match = -1;
- int find_listed;
- char *pat;
- char *patend;
- int attempt;
- char *p;
- int toggledollar;
if (pattern_end == pattern + 1 && (*pattern == '%' || *pattern == '#')) {
if (*pattern == '%') {
@@ -2230,23 +2216,24 @@ int buflist_findpat(const char *pattern, const char *pattern_end, bool unlisted,
// Repeat this for finding an unlisted buffer if there was no matching
// listed buffer.
- pat = file_pat_to_reg_pat(pattern, pattern_end, NULL, false);
+ char *pat = file_pat_to_reg_pat(pattern, pattern_end, NULL, false);
if (pat == NULL) {
return -1;
}
- patend = pat + strlen(pat) - 1;
- toggledollar = (patend > pat && *patend == '$');
+ char *patend = pat + strlen(pat) - 1;
+ int toggledollar = (patend > pat && *patend == '$');
// First try finding a listed buffer. If not found and "unlisted"
// is true, try finding an unlisted buffer.
- find_listed = true;
+
+ int find_listed = true;
while (true) {
- for (attempt = 0; attempt <= 3; attempt++) {
+ for (int attempt = 0; attempt <= 3; attempt++) {
// may add '^' and '$'
if (toggledollar) {
*patend = (attempt < 2) ? NUL : '$'; // add/remove '$'
}
- p = pat;
+ char *p = pat;
if (*p == '^' && !(attempt & 1)) { // add/remove '^'
p++;
}
@@ -2336,7 +2323,6 @@ int ExpandBufnames(char *pat, int *num_file, char ***file, int options)
int count = 0;
int round;
char *p;
- int attempt;
bufmatch_T *matches = NULL;
*num_file = 0; // return values in case of FAIL
@@ -2364,7 +2350,7 @@ int ExpandBufnames(char *pat, int *num_file, char ***file, int options)
fuzmatch_str_T *fuzmatch = NULL;
// attempt == 0: try match with '\<', match at start of word
// attempt == 1: try match without '\<', match anywhere
- for (attempt = 0; attempt <= (fuzzy ? 0 : 1); attempt++) {
+ for (int attempt = 0; attempt <= (fuzzy ? 0 : 1); attempt++) {
regmatch_T regmatch;
if (!fuzzy) {
if (attempt > 0 && patc == pat) {
@@ -2520,7 +2506,6 @@ static char *buflist_match(regmatch_T *rmp, buf_T *buf, bool ignore_case)
static char *fname_match(regmatch_T *rmp, char *name, bool ignore_case)
{
char *match = NULL;
- char *p;
// extra check for valid arguments
if (name == NULL || rmp->regprog == NULL) {
@@ -2533,7 +2518,7 @@ static char *fname_match(regmatch_T *rmp, char *name, bool ignore_case)
match = name;
} else if (rmp->regprog != NULL) {
// Replace $(HOME) with '~' and try matching again.
- p = home_replace_save(NULL, name);
+ char *p = home_replace_save(NULL, name);
if (vim_regexec(rmp, p, 0)) {
match = name;
}
@@ -3151,10 +3136,8 @@ void fileinfo(int fullname, int shorthelp, int dont_truncate)
char *name;
int n;
char *p;
- char *buffer;
- size_t len;
- buffer = xmalloc(IOSIZE);
+ char *buffer = xmalloc(IOSIZE);
if (fullname > 1) { // 2 CTRL-G: include buffer number
vim_snprintf(buffer, IOSIZE, "buf %d: ", curbuf->b_fnum);
@@ -3217,7 +3200,7 @@ void fileinfo(int fullname, int shorthelp, int dont_truncate)
(int64_t)curbuf->b_ml.ml_line_count,
n);
validate_virtcol();
- len = strlen(buffer);
+ size_t len = strlen(buffer);
col_print(buffer + len, IOSIZE - len,
(int)curwin->w_cursor.col + 1, (int)curwin->w_virtcol + 1);
}
@@ -3266,7 +3249,6 @@ void maketitle(void)
char *icon_str = NULL;
int maxlen = 0;
int len;
- int mustset;
char buf[IOSIZE];
if (!redrawing()) {
@@ -3389,7 +3371,7 @@ void maketitle(void)
#undef SPACE_FOR_ARGNR
}
}
- mustset = value_change(title_str, &lasttitle);
+ int mustset = value_change(title_str, &lasttitle);
if (p_icon) {
icon_str = buf;
@@ -3807,12 +3789,10 @@ static int chk_modeline(linenr_T lnum, int flags)
char *s;
char *e;
char *linecopy; // local copy of any modeline found
- int prev;
intmax_t vers;
- int end;
int retval = OK;
- prev = -1;
+ int prev = -1;
for (s = ml_get(lnum); *s != NUL; s++) {
if (prev == -1 || ascii_isspace(prev)) {
if ((prev != -1 && strncmp(s, "ex:", (size_t)3) == 0)
@@ -3858,7 +3838,7 @@ static int chk_modeline(linenr_T lnum, int flags)
// prepare for emsg()
estack_push(ETYPE_MODELINE, "modelines", lnum);
- end = false;
+ bool end = false;
while (end == false) {
s = skipwhite(s);
if (*s == NUL) {
diff --git a/src/nvim/change.c b/src/nvim/change.c
index bee074385e..46c21da384 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -1696,14 +1696,13 @@ int open_line(int dir, int flags, int second_line_indent, bool *did_do_comment)
// concatenate leader and p_extra, if there is a leader
if (lead_len > 0) {
if (flags & OPENLINE_COM_LIST && second_line_indent > 0) {
- int i;
int padding = second_line_indent
- (newindent + (int)strlen(leader));
// Here whitespace is inserted after the comment char.
// Below, set_indent(newindent, SIN_INSERT) will insert the
// whitespace needed before the comment char.
- for (i = 0; i < padding; i++) {
+ for (int i = 0; i < padding; i++) {
STRCAT(leader, " ");
less_cols--;
newcol++;
@@ -1987,9 +1986,7 @@ int get_leader_len(char *line, char **flags, bool backward, bool include_space)
int got_com = false;
char part_buf[COM_MAX_LEN]; // buffer for one option part
char *string; // pointer to comment string
- char *list;
int middle_match_len = 0;
- char *prev_list;
char *saved_flags = NULL;
int result = 0;
@@ -2002,13 +1999,13 @@ int get_leader_len(char *line, char **flags, bool backward, bool include_space)
while (line[i] != NUL) {
// scan through the 'comments' option for a match
int found_one = false;
- for (list = curbuf->b_p_com; *list;) {
+ for (char *list = curbuf->b_p_com; *list;) {
// Get one option part into part_buf[]. Advance "list" to next
// one. Put "string" at start of string.
if (!got_com && flags != NULL) {
*flags = list; // remember where flags started
}
- prev_list = list;
+ char *prev_list = list;
(void)copy_option_part(&list, part_buf, COM_MAX_LEN, ",");
string = vim_strchr(part_buf, ':');
if (string == NULL) { // missing ':', ignore this part
@@ -2204,7 +2201,6 @@ int get_last_leader_offset(char *line, char **flags)
if (found_one) {
char part_buf2[COM_MAX_LEN]; // buffer for one option part
- int len1, len2, off;
result = i;
// If this comment nests, continue searching.
@@ -2222,7 +2218,7 @@ int get_last_leader_offset(char *line, char **flags)
while (ascii_iswhite(*com_leader)) {
com_leader++;
}
- len1 = (int)strlen(com_leader);
+ int len1 = (int)strlen(com_leader);
for (list = curbuf->b_p_com; *list;) {
char *flags_save = list;
@@ -2236,14 +2232,14 @@ int get_last_leader_offset(char *line, char **flags)
while (ascii_iswhite(*string)) {
string++;
}
- len2 = (int)strlen(string);
+ int len2 = (int)strlen(string);
if (len2 == 0) {
continue;
}
// Now we have to verify whether string ends with a substring
// beginning the com_leader.
- for (off = (len2 > i ? i : len2); off > 0 && off + len1 > len2;) {
+ for (int off = (len2 > i ? i : len2); off > 0 && off + len1 > len2;) {
off--;
if (!strncmp(string + off, com_leader, (size_t)(len2 - off))) {
if (i - off < lower_check_bound) {
diff --git a/src/nvim/charset.c b/src/nvim/charset.c
index 2edf9a87cc..0adcc09ec7 100644
--- a/src/nvim/charset.c
+++ b/src/nvim/charset.c
@@ -88,10 +88,6 @@ int init_chartab(void)
int buf_init_chartab(buf_T *buf, int global)
{
int c;
- int c2;
- int i;
- bool tilde;
- bool do_isalpha;
if (global) {
// Set the default size for printable characters:
@@ -130,7 +126,7 @@ int buf_init_chartab(buf_T *buf, int global)
// Walk through the 'isident', 'iskeyword', 'isfname' and 'isprint'
// options Each option is a list of characters, character numbers or
// ranges, separated by commas, e.g.: "200-210,x,#-178,-"
- for (i = global ? 0 : 3; i <= 3; i++) {
+ for (int i = global ? 0 : 3; i <= 3; i++) {
const char *p;
if (i == 0) {
// first round: 'isident'
@@ -147,8 +143,8 @@ int buf_init_chartab(buf_T *buf, int global)
}
while (*p) {
- tilde = false;
- do_isalpha = false;
+ bool tilde = false;
+ bool do_isalpha = false;
if ((*p == '^') && (p[1] != NUL)) {
tilde = true;
@@ -160,7 +156,7 @@ int buf_init_chartab(buf_T *buf, int global)
} else {
c = mb_ptr2char_adv(&p);
}
- c2 = -1;
+ int c2 = -1;
if ((*p == '-') && (p[1] != NUL)) {
p++;
@@ -431,7 +427,6 @@ char *str_foldcase(char *str, int orglen, char *buf, int buflen)
FUNC_ATTR_NONNULL_RET
{
garray_T ga;
- int i;
int len = orglen;
#define GA_CHAR(i) ((char *)ga.ga_data)[i]
@@ -461,7 +456,7 @@ char *str_foldcase(char *str, int orglen, char *buf, int buflen)
}
// Make each character lower case.
- i = 0;
+ int i = 0;
while (STR_CHAR(i) != NUL) {
int c = utf_ptr2char(STR_PTR(i));
int olen = utf_ptr2len(STR_PTR(i));
diff --git a/src/nvim/cmdexpand.c b/src/nvim/cmdexpand.c
index 6a6cf9e4af..cba06976c9 100644
--- a/src/nvim/cmdexpand.c
+++ b/src/nvim/cmdexpand.c
@@ -225,7 +225,6 @@ static void ExpandEscape(expand_T *xp, char *str, int numfiles, char **files, in
int nextwild(expand_T *xp, int type, int options, bool escape)
{
CmdlineInfo *const ccline = get_cmdline_info();
- int i;
char *p2;
if (xp->xp_numfiles == -1) {
@@ -249,7 +248,7 @@ int nextwild(expand_T *xp, int type, int options, bool escape)
ui_flush();
}
- i = (int)(xp->xp_pattern - ccline->cmdbuff);
+ int i = (int)(xp->xp_pattern - ccline->cmdbuff);
assert(ccline->cmdpos >= i);
xp->xp_pattern_len = (size_t)ccline->cmdpos - (size_t)i;
@@ -444,11 +443,8 @@ static int wildmenu_match_len(expand_T *xp, char *s)
/// @param matches list of matches
static void redraw_wildmenu(expand_T *xp, int num_matches, char **matches, int match, int showtail)
{
- int row;
- char *buf;
int len;
int clen; // length in screen cells
- int fillchar;
int attr;
int i;
bool highlight = true;
@@ -463,7 +459,7 @@ static void redraw_wildmenu(expand_T *xp, int num_matches, char **matches, int m
return;
}
- buf = xmalloc((size_t)Columns * MB_MAXBYTES + 1);
+ char *buf = xmalloc((size_t)Columns * MB_MAXBYTES + 1);
if (match == -1) { // don't show match but original text
match = 0;
@@ -511,7 +507,7 @@ static void redraw_wildmenu(expand_T *xp, int num_matches, char **matches, int m
}
}
- fillchar = fillchar_status(&attr, curwin);
+ int fillchar = fillchar_status(&attr, curwin);
if (first_match == 0) {
*buf = NUL;
@@ -570,7 +566,7 @@ static void redraw_wildmenu(expand_T *xp, int num_matches, char **matches, int m
buf[len] = NUL;
- row = cmdline_row - 1;
+ int row = cmdline_row - 1;
if (row >= 0) {
if (wild_menu_showing == 0 || wild_menu_showing == WM_LIST) {
if (msg_scrolled > 0) {
@@ -1032,7 +1028,7 @@ int showmatches(expand_T *xp, int wildmenu)
CmdlineInfo *const ccline = get_cmdline_info();
int numMatches;
char **matches;
- int i, j;
+ int j;
int maxlen;
int lines;
int columns;
@@ -1041,8 +1037,8 @@ int showmatches(expand_T *xp, int wildmenu)
if (xp->xp_numfiles == -1) {
set_expand_context(xp);
- i = expand_cmdline(xp, ccline->cmdbuff, ccline->cmdpos,
- &numMatches, &matches);
+ int i = expand_cmdline(xp, ccline->cmdbuff, ccline->cmdpos,
+ &numMatches, &matches);
showtail = expand_showtail(xp);
if (i != EXPAND_OK) {
return i;
@@ -1080,7 +1076,7 @@ int showmatches(expand_T *xp, int wildmenu)
} else {
// find the length of the longest file name
maxlen = 0;
- for (i = 0; i < numMatches; i++) {
+ for (int i = 0; i < numMatches; i++) {
if (!showtail && (xp->xp_context == EXPAND_FILES
|| xp->xp_context == EXPAND_SHELLCMD
|| xp->xp_context == EXPAND_BUFFERS)) {
@@ -1116,7 +1112,7 @@ int showmatches(expand_T *xp, int wildmenu)
}
// list the files line by line
- for (i = 0; i < lines; i++) {
+ for (int i = 0; i < lines; i++) {
showmatches_oneline(xp, matches, numMatches, lines, i, maxlen, showtail, attr);
if (got_int) {
got_int = false;
@@ -1140,11 +1136,10 @@ int showmatches(expand_T *xp, int wildmenu)
/// Return the tail of file name path "s", ignoring a trailing "/".
static char *showmatches_gettail(char *s, bool eager)
{
- char *p;
char *t = s;
bool had_sep = false;
- for (p = s; *p != NUL;) {
+ for (char *p = s; *p != NUL;) {
if (vim_ispathsep(*p)
#ifdef BACKSLASH_IN_FILENAME
&& !rem_backslash(p)
@@ -1169,9 +1164,6 @@ static char *showmatches_gettail(char *s, bool eager)
/// returned.
static bool expand_showtail(expand_T *xp)
{
- char *s;
- char *end;
-
// When not completing file names a "/" may mean something different.
if (xp->xp_context != EXPAND_FILES
&& xp->xp_context != EXPAND_SHELLCMD
@@ -1179,12 +1171,12 @@ static bool expand_showtail(expand_T *xp)
return false;
}
- end = path_tail(xp->xp_pattern);
+ char *end = path_tail(xp->xp_pattern);
if (end == xp->xp_pattern) { // there is no path separator
return false;
}
- for (s = xp->xp_pattern; s < end; s++) {
+ for (char *s = xp->xp_pattern; s < end; s++) {
// Skip escaped wildcards. Only when the backslash is not a path
// separator, on DOS the '*' "path\*\file" must not be skipped.
if (rem_backslash(s)) {
@@ -1209,9 +1201,6 @@ char *addstar(char *fname, size_t len, int context)
{
char *retval;
size_t i, j;
- size_t new_len;
- char *tail;
- int ends_in_star;
if (context != EXPAND_FILES
&& context != EXPAND_FILES_IN_PATH
@@ -1236,7 +1225,7 @@ char *addstar(char *fname, size_t len, int context)
|| context == EXPAND_LUA) {
retval = xstrnsave(fname, len);
} else {
- new_len = len + 2; // +2 for '^' at start, NUL at end
+ size_t new_len = len + 2; // +2 for '^' at start, NUL at end
for (i = 0; i < len; i++) {
if (fname[i] == '*' || fname[i] == '~') {
new_len++; // '*' needs to be replaced by ".*"
@@ -1304,8 +1293,8 @@ char *addstar(char *fname, size_t len, int context)
// $ could be anywhere in the tail.
// ` could be anywhere in the file name.
// When the name ends in '$' don't add a star, remove the '$'.
- tail = path_tail(retval);
- ends_in_star = (len > 0 && retval[len - 1] == '*');
+ char *tail = path_tail(retval);
+ int ends_in_star = (len > 0 && retval[len - 1] == '*');
#ifndef BACKSLASH_IN_FILENAME
for (ssize_t k = (ssize_t)len - 2; k >= 0; k--) {
if (retval[k] != '\\') {
@@ -2981,18 +2970,16 @@ static void expand_shellcmd_onedir(char *buf, char *s, size_t l, char *pat, char
static void expand_shellcmd(char *filepat, char ***matches, int *numMatches, int flagsarg)
FUNC_ATTR_NONNULL_ALL
{
- char *pat;
- int i;
char *path = NULL;
garray_T ga;
char *buf = xmalloc(MAXPATHL);
- char *s, *e;
+ char *e;
int flags = flagsarg;
bool did_curdir = false;
// for ":set path=" and ":set tags=" halve backslashes for escaped space
- pat = xstrdup(filepat);
- for (i = 0; pat[i]; i++) {
+ char *pat = xstrdup(filepat);
+ for (int i = 0; pat[i]; i++) {
if (pat[i] == '\\' && pat[i + 1] == ' ') {
STRMOVE(pat + i, pat + i + 1);
}
@@ -3022,7 +3009,7 @@ static void expand_shellcmd(char *filepat, char ***matches, int *numMatches, int
ga_init(&ga, (int)sizeof(char *), 10);
hashtab_T found_ht;
hash_init(&found_ht);
- for (s = path;; s = e) {
+ for (char *s = path;; s = e) {
e = vim_strchr(s, ENV_SEPCHAR);
if (e == NULL) {
e = s + strlen(s);
@@ -3071,7 +3058,6 @@ static void *call_user_expand_func(user_expand_func_T user_expand_func, expand_T
CmdlineInfo *const ccline = get_cmdline_info();
char keep = 0;
typval_T args[4];
- char *pat = NULL;
const sctx_T save_current_sctx = current_sctx;
if (xp->xp_arg == NULL || xp->xp_arg[0] == '\0' || xp->xp_line == NULL) {
@@ -3083,7 +3069,7 @@ static void *call_user_expand_func(user_expand_func_T user_expand_func, expand_T
ccline->cmdbuff[ccline->cmdlen] = 0;
}
- pat = xstrnsave(xp->xp_pattern, xp->xp_pattern_len);
+ char *pat = xstrnsave(xp->xp_pattern, xp->xp_pattern_len);
args[0].v_type = VAR_STRING;
args[1].v_type = VAR_STRING;
args[2].v_type = VAR_NUMBER;
diff --git a/src/nvim/cmdhist.c b/src/nvim/cmdhist.c
index 25093a2b1c..e2916d1641 100644
--- a/src/nvim/cmdhist.c
+++ b/src/nvim/cmdhist.c
@@ -519,14 +519,12 @@ static int del_history_idx(int histype, int idx)
/// "histadd()" function
void f_histadd(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
{
- HistoryType histype;
-
rettv->vval.v_number = false;
if (check_secure()) {
return;
}
const char *str = tv_get_string_chk(&argvars[0]); // NULL on type error
- histype = str != NULL ? get_histtype(str, strlen(str), false) : HIST_INVALID;
+ HistoryType histype = str != NULL ? get_histtype(str, strlen(str), false) : HIST_INVALID;
if (histype == HIST_INVALID) {
return;
}
@@ -605,7 +603,6 @@ void ex_history(exarg_T *eap)
int histype2 = HIST_CMD;
int hisidx1 = 1;
int hisidx2 = -1;
- int i;
char *end;
char *arg = eap->arg;
@@ -661,7 +658,7 @@ void ex_history(exarg_T *eap)
k = (-k > hislen) ? 0 : hist[(hislen + k + idx + 1) % hislen].hisnum;
}
if (idx >= 0 && j <= k) {
- for (i = idx + 1; !got_int; i++) {
+ for (int i = idx + 1; !got_int; i++) {
if (i == hislen) {
i = 0;
}
diff --git a/src/nvim/cursor_shape.c b/src/nvim/cursor_shape.c
index 37fa0ccd8e..2e5a28b07b 100644
--- a/src/nvim/cursor_shape.c
+++ b/src/nvim/cursor_shape.c
@@ -112,10 +112,9 @@ const char *parse_shape_opt(int what)
int len;
int i;
int found_ve = false; // found "ve" flag
- int round;
// First round: check for errors; second round: do it for real.
- for (round = 1; round <= 2; round++) {
+ for (int round = 1; round <= 2; round++) {
if (round == 2 || *p_guicursor == NUL) {
// Set all entries to default (block, blinkon0, default color).
// This is the default for anything that is not set.
diff --git a/src/nvim/debugger.c b/src/nvim/debugger.c
index bfb15d59f5..9ab95eaec6 100644
--- a/src/nvim/debugger.c
+++ b/src/nvim/debugger.c
@@ -505,7 +505,6 @@ static typval_T *eval_expr_no_emsg(struct debuggy *const bp)
static int dbg_parsearg(char *arg, garray_T *gap)
{
char *p = arg;
- char *q;
bool here = false;
ga_grow(gap, 1);
@@ -561,7 +560,7 @@ static int dbg_parsearg(char *arg, garray_T *gap)
// Expand the file name in the same way as do_source(). This means
// doing it twice, so that $DIR/file gets expanded when $DIR is
// "~/dir".
- q = expand_env_save(p);
+ char *q = expand_env_save(p);
if (q == NULL) {
return FAIL;
}
diff --git a/src/nvim/diff.c b/src/nvim/diff.c
index aee0081e86..9c75a21b2c 100644
--- a/src/nvim/diff.c
+++ b/src/nvim/diff.c
@@ -340,8 +340,7 @@ static void diff_mark_adjust_tp(tabpage_T *tp, int idx, linenr_T line1, linenr_T
dnext->df_lnum[idx] = line1;
dnext->df_count[idx] = inserted;
- int i;
- for (i = 0; i < DB_COUNT; i++) {
+ for (int i = 0; i < DB_COUNT; i++) {
if ((tp->tp_diffbuf[i] != NULL) && (i != idx)) {
if (dprev == NULL) {
dnext->df_lnum[i] = line1;
@@ -472,8 +471,7 @@ static void diff_mark_adjust_tp(tabpage_T *tp, int idx, linenr_T line1, linenr_T
// check if this block touches the previous one, may merge them.
if ((dprev != NULL) && !dp->is_linematched
&& (dprev->df_lnum[idx] + dprev->df_count[idx] == dp->df_lnum[idx])) {
- int i;
- for (i = 0; i < DB_COUNT; i++) {
+ for (int i = 0; i < DB_COUNT; i++) {
if (tp->tp_diffbuf[i] != NULL) {
dprev->df_count[i] += dp->df_count[i];
}
diff --git a/src/nvim/digraph.c b/src/nvim/digraph.c
index b29b5aed72..bc0ce99c5e 100644
--- a/src/nvim/digraph.c
+++ b/src/nvim/digraph.c
@@ -2074,8 +2074,6 @@ char *keymap_init(void)
/// @param eap
void ex_loadkeymap(exarg_T *eap)
{
- char *s;
-
#define KMAP_LLEN 200 // max length of "to" and "from" together
char buf[KMAP_LLEN + 11];
char *save_cpo = p_cpo;
@@ -2106,7 +2104,7 @@ void ex_loadkeymap(exarg_T *eap)
if ((*p != '"') && (*p != NUL)) {
kmap_T *kp = GA_APPEND_VIA_PTR(kmap_T, &curbuf->b_kmap_ga);
- s = skiptowhite(p);
+ char *s = skiptowhite(p);
kp->from = xmemdupz(p, (size_t)(s - p));
p = skipwhite(s);
s = skiptowhite(p);
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index 5f61848188..11b4e55c5c 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -401,8 +401,6 @@ static void handle_foldcolumn(win_T *wp, winlinevars_T *wlv)
size_t fill_foldcolumn(char *p, win_T *wp, foldinfo_T foldinfo, linenr_T lnum, int *n_closing)
{
int i = 0;
- int level;
- int first_level;
int fdc = compute_foldcolumn(wp, 0); // available cell width
size_t char_counter = 0;
int symbol = 0;
@@ -411,11 +409,11 @@ size_t fill_foldcolumn(char *p, win_T *wp, foldinfo_T foldinfo, linenr_T lnum, i
// Init to all spaces.
memset(p, ' ', MB_MAXCHAR * (size_t)fdc + 1);
- level = foldinfo.fi_level;
+ int level = foldinfo.fi_level;
// If the column is too narrow, we start at the lowest level that
// fits and use numbers to indicate the depth.
- first_level = level - fdc - closed + 1;
+ int first_level = level - fdc - closed + 1;
if (first_level < 1) {
first_level = 1;
}
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 42b714ef47..ce547b55fe 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -1387,7 +1387,6 @@ void ins_redraw(bool ready)
// Handle a CTRL-V or CTRL-Q typed in Insert mode.
static void ins_ctrl_v(void)
{
- int c;
bool did_putchar = false;
// may need to redraw when no more chars available now
@@ -1402,7 +1401,7 @@ static void ins_ctrl_v(void)
add_to_showcmd_c(Ctrl_V);
// Do not include modifiers into the key for CTRL-SHIFT-V.
- c = get_literal(mod_mask & MOD_MASK_SHIFT);
+ int c = get_literal(mod_mask & MOD_MASK_SHIFT);
if (did_putchar) {
// when the line fits in 'columns' the '^' is at the start of the next
// line and will not removed by the redraw
@@ -1491,10 +1490,9 @@ char *prompt_text(void)
static void init_prompt(int cmdchar_todo)
{
char *prompt = prompt_text();
- char *text;
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
- text = get_cursor_line_ptr();
+ char *text = get_cursor_line_ptr();
if (strncmp(text, prompt, strlen(prompt)) != 0) {
// prompt is missing, insert it or append a line with it
if (*text == NUL) {
@@ -1558,13 +1556,12 @@ void edit_unputchar(void)
void display_dollar(colnr_T col_arg)
{
colnr_T col = col_arg < 0 ? 0 : col_arg;
- colnr_T save_col;
if (!redrawing()) {
return;
}
- save_col = curwin->w_cursor.col;
+ colnr_T save_col = curwin->w_cursor.col;
curwin->w_cursor.col = col;
// If on the last byte of a multi-byte move to the first byte.
@@ -1599,14 +1596,7 @@ void undisplay_dollar(void)
/// @param call_changed_bytes call changed_bytes()
void change_indent(int type, int amount, int round, int replaced, int call_changed_bytes)
{
- int vcol;
- int last_vcol;
int insstart_less; // reduction for Insstart.col
- int new_cursor_col;
- char *ptr;
- int save_p_list;
- int start_col;
- colnr_T vc;
colnr_T orig_col = 0; // init for GCC
char *orig_line = NULL; // init for GCC
@@ -1617,18 +1607,18 @@ void change_indent(int type, int amount, int round, int replaced, int call_chang
}
// for the following tricks we don't want list mode
- save_p_list = curwin->w_p_list;
+ int save_p_list = curwin->w_p_list;
curwin->w_p_list = false;
- vc = getvcol_nolist(&curwin->w_cursor);
- vcol = vc;
+ colnr_T vc = getvcol_nolist(&curwin->w_cursor);
+ int vcol = vc;
// For Replace mode we need to fix the replace stack later, which is only
// possible when the cursor is in the indent. Remember the number of
// characters before the cursor if it's possible.
- start_col = curwin->w_cursor.col;
+ int start_col = curwin->w_cursor.col;
// determine offset from first non-blank
- new_cursor_col = curwin->w_cursor.col;
+ int new_cursor_col = curwin->w_cursor.col;
beginline(BL_WHITE);
new_cursor_col -= curwin->w_cursor.col;
@@ -1681,8 +1671,8 @@ void change_indent(int type, int amount, int round, int replaced, int call_chang
curwin->w_virtcol = (colnr_T)((vcol < 0) ? 0 : vcol);
// Advance the cursor until we reach the right screen column.
- last_vcol = 0;
- ptr = get_cursor_line_ptr();
+ int last_vcol = 0;
+ char *ptr = get_cursor_line_ptr();
chartabsize_T cts;
init_chartabsize_arg(&cts, curwin, 0, 0, ptr, ptr);
while (cts.cts_vcol <= (int)curwin->w_virtcol) {
@@ -1872,9 +1862,7 @@ static bool del_char_after_col(int limit_col)
/// @param no_simplify do not include modifiers into the key
int get_literal(bool no_simplify)
{
- int cc;
int nc;
- int i;
bool hex = false;
bool octal = false;
int unicode = 0;
@@ -1884,8 +1872,8 @@ int get_literal(bool no_simplify)
}
no_mapping++; // don't map the next key hits
- cc = 0;
- i = 0;
+ int cc = 0;
+ int i = 0;
while (true) {
nc = plain_vgetc();
if (!no_simplify) {
@@ -2313,15 +2301,13 @@ int stop_arrow(void)
/// @param nomove <c-\><c-o>, don't move cursor
static void stop_insert(pos_T *end_insert_pos, int esc, int nomove)
{
- char *ptr;
-
stop_redo_ins();
replace_flush(); // abandon replace stack
// Save the inserted text for later redo with ^@ and CTRL-A.
// Don't do it when "restart_edit" was set and nothing was inserted,
// otherwise CTRL-O w and then <Left> will clear "last_insert".
- ptr = get_inserted();
+ char *ptr = get_inserted();
int added = ptr == NULL ? 0 : (int)strlen(ptr) - new_insert_skip;
if (did_restart_edit == 0 || added > 0) {
xfree(last_insert);
@@ -2432,11 +2418,9 @@ static void stop_insert(pos_T *end_insert_pos, int esc, int nomove)
// Used for the replace command.
void set_last_insert(int c)
{
- char *s;
-
xfree(last_insert);
last_insert = xmalloc(MB_MAXBYTES * 3 + 5);
- s = last_insert;
+ char *s = last_insert;
// Use the CTRL-V only when entering a special char
if (c < ' ' || c == DEL) {
*s++ = Ctrl_V;
@@ -2489,7 +2473,6 @@ void beginline(int flags)
int oneright(void)
{
char *ptr;
- int l;
if (virtual_active()) {
pos_T prevpos = curwin->w_cursor;
@@ -2509,7 +2492,7 @@ int oneright(void)
return FAIL; // already at the very end
}
- l = utfc_ptr2len(ptr);
+ int l = utfc_ptr2len(ptr);
// move "l" bytes right, but don't end up on the NUL, unless 'virtualedit'
// contains "onemore".
@@ -2526,7 +2509,6 @@ int oneright(void)
int oneleft(void)
{
if (virtual_active()) {
- int width;
int v = getviscol();
if (v == 0) {
@@ -2534,7 +2516,7 @@ int oneleft(void)
}
// We might get stuck on 'showbreak', skip over it.
- width = 1;
+ int width = 1;
while (true) {
coladvance(v - width);
// getviscol() is slow, skip it when 'showbreak' is empty,
@@ -2692,11 +2674,9 @@ int cursor_down(int n, int upd_topline)
int stuff_inserted(int c, int count, int no_esc)
{
char *esc_ptr;
- char *ptr;
- char *last_ptr;
char last = NUL;
- ptr = get_last_insert();
+ char *ptr = get_last_insert();
if (ptr == NULL) {
emsg(_(e_noinstext));
return FAIL;
@@ -2714,7 +2694,7 @@ int stuff_inserted(int c, int count, int no_esc)
// when the last char is either "0" or "^" it will be quoted if no ESC
// comes after it OR if it will inserted more than once and "ptr"
// starts with ^D. -- Acevedo
- last_ptr = (esc_ptr ? esc_ptr : ptr + strlen(ptr)) - 1;
+ char *last_ptr = (esc_ptr ? esc_ptr : ptr + strlen(ptr)) - 1;
if (last_ptr >= ptr && (*last_ptr == '0' || *last_ptr == '^')
&& (no_esc || (*ptr == Ctrl_D && count > 1))) {
last = *last_ptr;
@@ -2758,14 +2738,11 @@ char *get_last_insert(void)
// Returns pointer to allocated memory (must be freed) or NULL.
char *get_last_insert_save(void)
{
- char *s;
- int len;
-
if (last_insert == NULL) {
return NULL;
}
- s = xstrdup(last_insert + last_insert_skip);
- len = (int)strlen(s);
+ char *s = xstrdup(last_insert + last_insert_skip);
+ int len = (int)strlen(s);
if (len > 0 && s[len - 1] == ESC) { // remove trailing ESC
s[len - 1] = NUL;
}
@@ -2843,9 +2820,8 @@ void replace_push(int c)
int replace_push_mb(char *p)
{
int l = utfc_ptr2len(p);
- int j;
- for (j = l - 1; j >= 0; j--) {
+ for (int j = l - 1; j >= 0; j--) {
replace_push(p[j]);
}
return l;
@@ -2896,11 +2872,10 @@ static void mb_replace_pop_ins(int cc)
{
int n;
uint8_t buf[MB_MAXBYTES + 1];
- int i;
if ((n = MB_BYTE2LEN(cc)) > 1) {
buf[0] = (uint8_t)cc;
- for (i = 1; i < n; i++) {
+ for (int i = 1; i < n; i++) {
buf[i] = (uint8_t)replace_pop();
}
ins_bytes_len((char *)buf, (size_t)n);
@@ -2922,14 +2897,14 @@ static void mb_replace_pop_ins(int cc)
buf[0] = (uint8_t)c;
assert(n > 1);
- for (i = 1; i < n; i++) {
+ for (int i = 1; i < n; i++) {
buf[i] = (uint8_t)replace_pop();
}
if (utf_iscomposing(utf_ptr2char((char *)buf))) {
ins_bytes_len((char *)buf, (size_t)n);
} else {
// Not a composing char, put it back.
- for (i = n - 1; i >= 0; i--) {
+ for (int i = n - 1; i >= 0; i--) {
replace_push(buf[i]);
}
break;
@@ -2955,11 +2930,10 @@ static void replace_flush(void)
// using composing characters, use del_char_after_col() instead of del_char().
static void replace_do_bs(int limit_col)
{
- int cc;
colnr_T start_vcol;
const int l_State = State;
- cc = replace_pop();
+ int cc = replace_pop();
if (cc > 0) {
int orig_len = 0;
int orig_vcols = 0;
@@ -3235,7 +3209,6 @@ bool in_cinkeys(int keytyped, int when, bool line_is_empty)
static void ins_reg(void)
{
bool need_redraw = false;
- int regname;
int literally = 0;
int vis_active = VIsual_active;
@@ -3253,7 +3226,7 @@ static void ins_reg(void)
// deleted when ESC is hit.
no_mapping++;
allow_keys++;
- regname = plain_vgetc();
+ int regname = plain_vgetc();
LANGMAP_ADJUST(regname, true);
if (regname == Ctrl_R || regname == Ctrl_O || regname == Ctrl_P) {
// Get a third key for literal register insertion
@@ -3324,8 +3297,6 @@ static void ins_reg(void)
// CTRL-G commands in Insert mode.
static void ins_ctrl_g(void)
{
- int c;
-
// Right after CTRL-X the cursor will be after the ruler.
setcursor();
@@ -3333,7 +3304,7 @@ static void ins_ctrl_g(void)
// deleted when ESC is hit.
no_mapping++;
allow_keys++;
- c = plain_vgetc();
+ int c = plain_vgetc();
no_mapping--;
allow_keys--;
switch (c) {
@@ -3709,9 +3680,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
{
int cc;
int temp = 0; // init for GCC
- colnr_T save_col;
bool did_backspace = false;
- int in_indent;
int cpc[MAX_MCO]; // composing characters
bool call_fix_indent = false;
@@ -3736,7 +3705,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
if (stop_arrow() == FAIL) {
return false;
}
- in_indent = inindent(0);
+ int in_indent = inindent(0);
if (in_indent) {
can_cindent = false;
}
@@ -3822,7 +3791,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
State = MODE_NORMAL;
// restore characters (blanks) deleted after cursor
while (cc > 0) {
- save_col = curwin->w_cursor.col;
+ colnr_T save_col = curwin->w_cursor.col;
mb_replace_pop_ins(cc);
curwin->w_cursor.col = save_col;
cc = replace_pop();
@@ -3843,7 +3812,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
if (mode == BACKSPACE_LINE
&& (curbuf->b_p_ai || cindent_on())
&& !revins_on) {
- save_col = curwin->w_cursor.col;
+ colnr_T save_col = curwin->w_cursor.col;
beginline(BL_WHITE);
if (curwin->w_cursor.col < save_col) {
mincol = curwin->w_cursor.col;
@@ -3864,14 +3833,13 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
&& (!*inserted_space_p || arrow_used)))))) {
colnr_T vcol;
colnr_T want_vcol;
- colnr_T start_vcol;
*inserted_space_p = false;
// Compute the virtual column where we want to be. Since
// 'showbreak' may get in the way, need to get the last column of
// the previous character.
getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
- start_vcol = vcol;
+ colnr_T start_vcol = vcol;
dec_cursor();
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &want_vcol);
inc_cursor();
@@ -4017,14 +3985,13 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
static void ins_left(void)
{
- pos_T tpos;
const bool end_change = dont_sync_undo == kFalse; // end undoable change
if ((fdo_flags & FDO_HOR) && KeyTyped) {
foldOpenCursor();
}
undisplay_dollar();
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (oneleft() == OK) {
start_arrow_with_change(&tpos, end_change);
if (!end_change) {
@@ -4050,13 +4017,11 @@ static void ins_left(void)
static void ins_home(int c)
{
- pos_T tpos;
-
if ((fdo_flags & FDO_HOR) && KeyTyped) {
foldOpenCursor();
}
undisplay_dollar();
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (c == K_C_HOME) {
curwin->w_cursor.lnum = 1;
}
@@ -4068,13 +4033,11 @@ static void ins_home(int c)
static void ins_end(int c)
{
- pos_T tpos;
-
if ((fdo_flags & FDO_HOR) && KeyTyped) {
foldOpenCursor();
}
undisplay_dollar();
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (c == K_C_END) {
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
}
@@ -4166,12 +4129,11 @@ static void ins_s_right(void)
/// @param startcol when true move to Insstart.col
static void ins_up(bool startcol)
{
- pos_T tpos;
linenr_T old_topline = curwin->w_topline;
int old_topfill = curwin->w_topfill;
undisplay_dollar();
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (cursor_up(1, true) == OK) {
if (startcol) {
coladvance(getvcol_nolist(&Insstart));
@@ -4189,8 +4151,6 @@ static void ins_up(bool startcol)
static void ins_pageup(void)
{
- pos_T tpos;
-
undisplay_dollar();
if (mod_mask & MOD_MASK_CTRL) {
@@ -4202,7 +4162,7 @@ static void ins_pageup(void)
return;
}
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (onepage(BACKWARD, 1) == OK) {
start_arrow(&tpos);
can_cindent = true;
@@ -4214,12 +4174,11 @@ static void ins_pageup(void)
/// @param startcol when true move to Insstart.col
static void ins_down(bool startcol)
{
- pos_T tpos;
linenr_T old_topline = curwin->w_topline;
int old_topfill = curwin->w_topfill;
undisplay_dollar();
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (cursor_down(1, true) == OK) {
if (startcol) {
coladvance(getvcol_nolist(&Insstart));
@@ -4237,8 +4196,6 @@ static void ins_down(bool startcol)
static void ins_pagedown(void)
{
- pos_T tpos;
-
undisplay_dollar();
if (mod_mask & MOD_MASK_CTRL) {
@@ -4250,7 +4207,7 @@ static void ins_pagedown(void)
return;
}
- tpos = curwin->w_cursor;
+ pos_T tpos = curwin->w_cursor;
if (onepage(FORWARD, 1) == OK) {
start_arrow(&tpos);
can_cindent = true;
@@ -4528,7 +4485,6 @@ bool ins_eol(int c)
// done.
static int ins_digraph(void)
{
- int c;
bool did_putchar = false;
pc_status = PC_STATUS_UNSET;
@@ -4545,7 +4501,7 @@ static int ins_digraph(void)
// mode message to be deleted when ESC is hit
no_mapping++;
allow_keys++;
- c = plain_vgetc();
+ int c = plain_vgetc();
no_mapping--;
allow_keys--;
if (did_putchar) {
@@ -4597,9 +4553,7 @@ static int ins_digraph(void)
// Returns the char to be inserted, or NUL if none found.
int ins_copychar(linenr_T lnum)
{
- int c;
- char *ptr, *prev_ptr;
- char *line;
+ char *ptr;
if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count) {
vim_beep(BO_COPY);
@@ -4608,8 +4562,8 @@ int ins_copychar(linenr_T lnum)
// try to advance to the cursor column
validate_virtcol();
- line = ml_get(lnum);
- prev_ptr = line;
+ char *line = ml_get(lnum);
+ char *prev_ptr = line;
chartabsize_T cts;
init_chartabsize_arg(&cts, curwin, lnum, 0, line, line);
@@ -4625,7 +4579,7 @@ int ins_copychar(linenr_T lnum)
}
clear_chartabsize_arg(&cts);
- c = utf_ptr2char(ptr);
+ int c = utf_ptr2char(ptr);
if (c == NUL) {
vim_beep(BO_COPY);
}
@@ -4811,9 +4765,8 @@ void set_can_cindent(bool val)
int ins_apply_autocmds(event_T event)
{
varnumber_T tick = buf_get_changedtick(curbuf);
- int r;
- r = apply_autocmds(event, NULL, NULL, false, curbuf);
+ int r = apply_autocmds(event, NULL, NULL, false, curbuf);
// If u_savesub() was called then we are not prepared to start
// a new line. Call u_save() with no contents to fix that.
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index be9d0abc42..6d2c276df4 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -1867,14 +1867,13 @@ notify:
void *eval_for_line(const char *arg, bool *errp, exarg_T *eap, evalarg_T *const evalarg)
{
forinfo_T *fi = xcalloc(1, sizeof(forinfo_T));
- const char *expr;
typval_T tv;
list_T *l;
const bool skip = !(evalarg->eval_flags & EVAL_EVALUATE);
*errp = true; // Default: there is an error.
- expr = skip_var_list(arg, &fi->fi_varcount, &fi->fi_semicolon);
+ const char *expr = skip_var_list(arg, &fi->fi_varcount, &fi->fi_semicolon);
if (expr == NULL) {
return fi;
}
@@ -2005,13 +2004,12 @@ void set_context_for_expression(expand_T *xp, char *arg, cmdidx_T cmdidx)
FUNC_ATTR_NONNULL_ALL
{
bool got_eq = false;
- char *p;
if (cmdidx == CMD_let || cmdidx == CMD_const) {
xp->xp_context = EXPAND_USER_VARS;
if (strpbrk(arg, "\"'+-*/%.=!?~|&$([<>,#") == NULL) {
// ":let var1 var2 ...": find last space.
- for (p = arg + strlen(arg); p >= arg;) {
+ for (char *p = arg + strlen(arg); p >= arg;) {
xp->xp_pattern = p;
MB_PTR_BACK(arg, p);
if (ascii_iswhite(*p)) {
@@ -2343,14 +2341,12 @@ void clear_evalarg(evalarg_T *evalarg, exarg_T *eap)
/// @return OK or FAIL.
int eval0(char *arg, typval_T *rettv, exarg_T *eap, evalarg_T *const evalarg)
{
- int ret;
- char *p;
const int did_emsg_before = did_emsg;
const int called_emsg_before = called_emsg;
bool end_error = false;
- p = skipwhite(arg);
- ret = eval1(&p, rettv, evalarg);
+ char *p = skipwhite(arg);
+ int ret = eval1(&p, rettv, evalarg);
if (ret != FAIL) {
end_error = !ends_excmd(*p);
@@ -7239,10 +7235,9 @@ void set_vim_var_tv(const VimVarIndex idx, typval_T *const tv)
void set_argv_var(char **argv, int argc)
{
list_T *l = tv_list_alloc(argc);
- int i;
tv_list_set_lock(l, VAR_FIXED);
- for (i = 0; i < argc; i++) {
+ for (int i = 0; i < argc; i++) {
tv_list_append_string(l, (const char *const)argv[i], -1);
TV_LIST_ITEM_TV(tv_list_last(l))->v_lock = VAR_FIXED;
}
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index 19d1bdc8e6..94f981dc2b 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -238,12 +238,8 @@ void do_ascii(exarg_T *eap)
/// ":left", ":center" and ":right": align text.
void ex_align(exarg_T *eap)
{
- pos_T save_curpos;
- int len;
int indent = 0;
int new_indent;
- int has_tab;
- int width;
if (curwin->w_p_rl) {
// switch left and right aligning
@@ -254,8 +250,8 @@ void ex_align(exarg_T *eap)
}
}
- width = atoi(eap->arg);
- save_curpos = curwin->w_cursor;
+ int width = atoi(eap->arg);
+ pos_T save_curpos = curwin->w_cursor;
if (eap->cmdidx == CMD_left) { // width is used for new indent
if (width >= 0) {
indent = width;
@@ -284,8 +280,8 @@ void ex_align(exarg_T *eap)
if (eap->cmdidx == CMD_left) { // left align
new_indent = indent;
} else {
- has_tab = false; // avoid uninit warnings
- len = linelen(eap->cmdidx == CMD_right ? &has_tab : NULL) - get_indent();
+ int has_tab = false; // avoid uninit warnings
+ int len = linelen(eap->cmdidx == CMD_right ? &has_tab : NULL) - get_indent();
if (len <= 0) { // skip blank lines
continue;
@@ -328,26 +324,23 @@ void ex_align(exarg_T *eap)
/// @return the length of the current line, excluding trailing white space.
static int linelen(int *has_tab)
{
- char *line;
- char *first;
char *last;
- int len;
// Get the line. If it's empty bail out early (could be the empty string
// for an unloaded buffer).
- line = get_cursor_line_ptr();
+ char *line = get_cursor_line_ptr();
if (*line == NUL) {
return 0;
}
// find the first non-blank character
- first = skipwhite(line);
+ char *first = skipwhite(line);
// find the character after the last non-blank character
for (last = first + strlen(first);
last > first && ascii_iswhite(last[-1]); last--) {}
char save = *last;
*last = NUL;
- len = linetabsize_str(line); // Get line length.
+ int len = linetabsize_str(line); // Get line length.
if (has_tab != NULL) { // Check for embedded TAB.
*has_tab = vim_strchr(first, TAB) != NULL;
}
@@ -451,19 +444,11 @@ static int sort_compare(const void *s1, const void *s2)
void ex_sort(exarg_T *eap)
{
regmatch_T regmatch;
- int len;
linenr_T lnum;
int maxlen = 0;
size_t count = (size_t)(eap->line2 - eap->line1) + 1;
size_t i;
- char *p;
- char *s;
- char *s2;
- char c; // temporary character storage
bool unique = false;
- linenr_T deleted;
- colnr_T start_col;
- colnr_T end_col;
int sort_what = 0;
// Sorting one line is really quick!
@@ -483,7 +468,7 @@ void ex_sort(exarg_T *eap)
size_t format_found = 0;
bool change_occurred = false; // Buffer contents changed.
- for (p = eap->arg; *p != NUL; p++) {
+ for (char *p = eap->arg; *p != NUL; p++) {
if (ascii_iswhite(*p)) {
// Skip
} else if (*p == 'i') {
@@ -516,7 +501,7 @@ void ex_sort(exarg_T *eap)
eap->nextcmd = check_nextcmd(p);
break;
} else if (!ASCII_ISALPHA(*p) && regmatch.regprog == NULL) {
- s = skip_regexp_err(p + 1, *p, true);
+ char *s = skip_regexp_err(p + 1, *p, true);
if (s == NULL) {
goto sortend;
}
@@ -559,14 +544,14 @@ void ex_sort(exarg_T *eap)
// matching and number conversion only has to be done once per line.
// Also get the longest line length for allocating "sortbuf".
for (lnum = eap->line1; lnum <= eap->line2; lnum++) {
- s = ml_get(lnum);
- len = (int)strlen(s);
+ char *s = ml_get(lnum);
+ int len = (int)strlen(s);
if (maxlen < len) {
maxlen = len;
}
- start_col = 0;
- end_col = len;
+ colnr_T start_col = 0;
+ colnr_T end_col = len;
if (regmatch.regprog != NULL && vim_regexec(&regmatch, s, 0)) {
if (sort_rx) {
start_col = (colnr_T)(regmatch.startp[0] - s);
@@ -581,11 +566,11 @@ void ex_sort(exarg_T *eap)
if (sort_nr || sort_flt) {
// Make sure vim_str2nr() doesn't read any digits past the end
// of the match, by temporarily terminating the string there
- s2 = s + end_col;
- c = *s2;
+ char *s2 = s + end_col;
+ char c = *s2; // temporary character storage
*s2 = NUL;
// Sorting on number: Store the number itself.
- p = s + start_col;
+ char *p = s + start_col;
if (sort_nr) {
if (sort_what & STR2NR_HEX) {
s = skiptohex(p);
@@ -660,7 +645,7 @@ void ex_sort(exarg_T *eap)
change_occurred = true;
}
- s = ml_get(get_lnum);
+ char *s = ml_get(get_lnum);
size_t bytelen = strlen(s) + 1; // include EOL in bytelen
old_count += (bcount_t)bytelen;
if (!unique || i == 0 || string_compare(s, sortbuf1) != 0) {
@@ -688,7 +673,7 @@ void ex_sort(exarg_T *eap)
}
// Adjust marks for deleted (or added) lines and prepare for displaying.
- deleted = (linenr_T)count - (lnum - eap->line2);
+ linenr_T deleted = (linenr_T)count - (lnum - eap->line2);
if (deleted > 0) {
mark_adjust(eap->line2 - deleted, eap->line2, MAXLNUM, -deleted, kExtmarkNOOP);
msgmore(-deleted);
@@ -954,14 +939,9 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out
linenr_T line2 = eap->line2; // end of range
char *newcmd = NULL; // the new command
bool free_newcmd = false; // need to free() newcmd
- char *t;
- char *p;
- char *trailarg;
int scroll_save = msg_scroll;
- //
// Disallow shell commands in secure mode
- //
if (check_secure()) {
return;
}
@@ -977,7 +957,7 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out
bool ins_prevcmd = forceit;
// Skip leading white space to avoid a strange error with some shells.
- trailarg = skipwhite(arg);
+ char *trailarg = skipwhite(arg);
do {
size_t len = strlen(trailarg) + 1;
if (newcmd != NULL) {
@@ -990,7 +970,7 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out
}
len += strlen(prevcmd);
}
- t = xmalloc(len);
+ char *t = xmalloc(len);
*t = NUL;
if (newcmd != NULL) {
STRCAT(t, newcmd);
@@ -998,7 +978,7 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out
if (ins_prevcmd) {
STRCAT(t, prevcmd);
}
- p = t + strlen(t);
+ char *p = t + strlen(t);
STRCAT(t, trailarg);
xfree(newcmd);
newcmd = t;
@@ -1099,10 +1079,6 @@ static void do_filter(linenr_T line1, linenr_T line2, exarg_T *eap, char *cmd, b
{
char *itmp = NULL;
char *otmp = NULL;
- linenr_T linecount;
- linenr_T read_linecount;
- pos_T cursor_save;
- char *cmd_buf;
buf_T *old_curbuf = curbuf;
int shell_flags = 0;
const pos_T orig_start = curbuf->b_op_start;
@@ -1118,8 +1094,8 @@ static void do_filter(linenr_T line1, linenr_T line2, exarg_T *eap, char *cmd, b
// regions of the buffer for foldUpdate(), linecount, etc.
cmdmod.cmod_flags &= ~CMOD_LOCKMARKS;
- cursor_save = curwin->w_cursor;
- linecount = line2 - line1 + 1;
+ pos_T cursor_save = curwin->w_cursor;
+ linenr_T linecount = line2 - line1 + 1;
curwin->w_cursor.lnum = line1;
curwin->w_cursor.col = 0;
changed_line_abv_curs();
@@ -1184,7 +1160,7 @@ static void do_filter(linenr_T line1, linenr_T line2, exarg_T *eap, char *cmd, b
}
// Create the shell command in allocated memory.
- cmd_buf = make_filter_cmd(cmd, itmp, otmp);
+ char *cmd_buf = make_filter_cmd(cmd, itmp, otmp);
ui_cursor_goto(Rows - 1, 0);
if (do_out) {
@@ -1194,7 +1170,7 @@ static void do_filter(linenr_T line1, linenr_T line2, exarg_T *eap, char *cmd, b
}
redraw_curbuf_later(UPD_VALID);
}
- read_linecount = curbuf->b_ml.ml_line_count;
+ linenr_T read_linecount = curbuf->b_ml.ml_line_count;
// Pass on the kShellOptDoOut flag when the output is being redirected.
call_shell(cmd_buf, (ShellOpts)(kShellOptFilter | shell_flags), NULL);
@@ -1534,10 +1510,7 @@ void print_line(linenr_T lnum, int use_number, int list)
int rename_buffer(char *new_fname)
{
- char *fname, *sfname, *xfname;
- buf_T *buf;
-
- buf = curbuf;
+ buf_T *buf = curbuf;
apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, false, curbuf);
// buffer changed, don't change name now
if (buf != curbuf) {
@@ -1551,9 +1524,9 @@ int rename_buffer(char *new_fname)
// name, which will become the alternate file name.
// But don't set the alternate file name if the buffer didn't have a
// name.
- fname = curbuf->b_ffname;
- sfname = curbuf->b_sfname;
- xfname = curbuf->b_fname;
+ char *fname = curbuf->b_ffname;
+ char *sfname = curbuf->b_sfname;
+ char *xfname = curbuf->b_fname;
curbuf->b_ffname = NULL;
curbuf->b_sfname = NULL;
if (setfname(curbuf, new_fname, NULL, true) == FAIL) {
@@ -1647,7 +1620,6 @@ int do_write(exarg_T *eap)
{
int other;
char *fname = NULL; // init to shut up gcc
- char *ffname;
int retval = FAIL;
char *free_fname = NULL;
buf_T *alt_buf = NULL;
@@ -1657,7 +1629,7 @@ int do_write(exarg_T *eap)
return FAIL;
}
- ffname = eap->arg;
+ char *ffname = eap->arg;
if (*ffname == NUL) {
if (eap->cmdidx == CMD_saveas) {
emsg(_(e_argreq));
@@ -2931,12 +2903,9 @@ void ex_change(exarg_T *eap)
void ex_z(exarg_T *eap)
{
- char *x;
int64_t bigness;
- char *kind;
int minus = 0;
linenr_T start, end, curs, i;
- int j;
linenr_T lnum = eap->line2;
// Vi compatible: ":z!" uses display height, without a count uses
@@ -2952,8 +2921,8 @@ void ex_z(exarg_T *eap)
bigness = 1;
}
- x = eap->arg;
- kind = x;
+ char *x = eap->arg;
+ char *kind = x;
if (*kind == '-' || *kind == '+' || *kind == '='
|| *kind == '^' || *kind == '.') {
x++;
@@ -3041,7 +3010,7 @@ void ex_z(exarg_T *eap)
if (minus && i == lnum) {
msg_putchar('\n');
- for (j = 1; j < Columns; j++) {
+ for (int j = 1; j < Columns; j++) {
msg_putchar('-');
}
}
@@ -3051,7 +3020,7 @@ void ex_z(exarg_T *eap)
if (minus && i == lnum) {
msg_putchar('\n');
- for (j = 1; j < Columns; j++) {
+ for (int j = 1; j < Columns; j++) {
msg_putchar('-');
}
}
@@ -4386,7 +4355,6 @@ void ex_global(exarg_T *eap)
char *pat;
regmmatch_T regmatch;
int match;
- int which_pat;
// When nesting the command works on one line. This allows for
// ":g/found/v/notfound/command".
@@ -4403,7 +4371,7 @@ void ex_global(exarg_T *eap)
type = (uint8_t)(*eap->cmd);
}
cmd = eap->arg;
- which_pat = RE_LAST; // default: use last used regexp
+ int which_pat = RE_LAST; // default: use last used regexp
// undocumented vi feature:
// "\/" and "\?": use previous search pattern.
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index 10b0fd6236..a99563bd9c 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -101,7 +101,6 @@ void ex_perldo(exarg_T *eap)
/// @return FAIL for failure, OK otherwise
int autowrite(buf_T *buf, int forceit)
{
- int r;
bufref_T bufref;
if (!(p_aw || p_awa) || !p_write
@@ -111,7 +110,7 @@ int autowrite(buf_T *buf, int forceit)
return FAIL;
}
set_bufref(&bufref, buf);
- r = buf_write_all(buf, forceit);
+ int r = buf_write_all(buf, forceit);
// Writing may succeed but the buffer still changed, e.g., when there is a
// conversion error. We do want to return FAIL then.
@@ -273,9 +272,7 @@ bool can_abandon(buf_T *buf, int forceit)
/// Add a buffer number to "bufnrs", unless it's already there.
static void add_bufnum(int *bufnrs, int *bufnump, int nr)
{
- int i;
-
- for (i = 0; i < *bufnump; i++) {
+ for (int i = 0; i < *bufnump; i++) {
if (bufnrs[i] == nr) {
return;
}
@@ -296,11 +293,9 @@ static void add_bufnum(int *bufnrs, int *bufnump, int nr)
bool check_changed_any(bool hidden, bool unload)
{
bool ret = false;
- int save;
int i;
int bufnum = 0;
size_t bufcount = 0;
- int *bufnrs;
// Make a list of all buffers, with the most important ones first.
FOR_ALL_BUFFERS(buf) {
@@ -311,7 +306,7 @@ bool check_changed_any(bool hidden, bool unload)
return false;
}
- bufnrs = xmalloc(sizeof(*bufnrs) * bufcount);
+ int *bufnrs = xmalloc(sizeof(*bufnrs) * bufcount);
// curbuf
bufnrs[bufnum++] = curbuf->b_fnum;
@@ -379,7 +374,7 @@ bool check_changed_any(bool hidden, bool unload)
? semsg(_("E947: Job still running in buffer \"%s\""), buf->b_fname)
: semsg(_("E162: No write since last change for buffer \"%s\""),
buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname)) {
- save = no_wait_return;
+ int save = no_wait_return;
no_wait_return = false;
wait_return(false);
no_wait_return = save;
@@ -429,12 +424,11 @@ int check_fname(void)
/// @return FAIL for failure, OK otherwise
int buf_write_all(buf_T *buf, int forceit)
{
- int retval;
buf_T *old_curbuf = curbuf;
- retval = (buf_write(buf, buf->b_ffname, buf->b_fname,
- 1, buf->b_ml.ml_line_count, NULL,
- false, forceit, true, false));
+ int retval = (buf_write(buf, buf->b_ffname, buf->b_fname,
+ 1, buf->b_ml.ml_line_count, NULL,
+ false, forceit, true, false));
if (curbuf != old_curbuf) {
msg_source(HL_ATTR(HLF_W));
msg(_("Warning: Entered other buffer unexpectedly (check autocommands)"), 0);
@@ -684,9 +678,7 @@ void ex_listdo(exarg_T *eap)
/// ":compiler[!] {name}"
void ex_compiler(exarg_T *eap)
{
- char *buf;
char *old_cur_comp = NULL;
- char *p;
if (*eap->arg == NUL) {
// List all compiler scripts.
@@ -696,7 +688,7 @@ void ex_compiler(exarg_T *eap)
}
size_t bufsize = strlen(eap->arg) + 14;
- buf = xmalloc(bufsize);
+ char *buf = xmalloc(bufsize);
if (eap->forceit) {
// ":compiler! {name}" sets global options
@@ -726,7 +718,7 @@ void ex_compiler(exarg_T *eap)
do_cmdline_cmd(":delcommand CompilerSet");
// Set "b:current_compiler" from "current_compiler".
- p = get_var_value("g:current_compiler");
+ char *p = get_var_value("g:current_compiler");
if (p != NULL) {
set_internal_string_var("b:current_compiler", p);
}
@@ -809,7 +801,6 @@ static void script_host_do_range(char *name, exarg_T *eap)
void ex_drop(exarg_T *eap)
{
bool split = false;
- buf_T *buf;
// Check if the first argument is already being edited in a window. If
// so, jump to that window.
@@ -837,7 +828,7 @@ void ex_drop(exarg_T *eap)
// ":drop file ...": Edit the first argument. Jump to an existing
// window if possible, edit in current window if the current buffer
// can be abandoned, otherwise open a new window.
- buf = buflist_findnr(ARGLIST[0].ae_fnum);
+ buf_T *buf = buflist_findnr(ARGLIST[0].ae_fnum);
FOR_ALL_TAB_WINDOWS(tp, wp) {
if (wp->w_buffer == buf) {
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 88c33088bd..13043930b2 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -333,16 +333,12 @@ int do_cmdline(char *cmdline, LineGetter fgetline, void *cookie, int flags)
linenr_T *breakpoint = NULL; // ptr to breakpoint field in cookie
int *dbg_tick = NULL; // ptr to dbg_tick field in cookie
struct dbg_stuff debug_saved; // saved things for debug mode
- int initial_trylevel;
- msglist_T **saved_msg_list = NULL;
msglist_T *private_msg_list;
// "fgetline" and "cookie" passed to do_one_cmd()
char *(*cmd_getline)(int, void *, int, bool);
void *cmd_cookie;
struct loop_cookie cmd_loop_cookie;
- void *real_cookie;
- int getline_is_func;
static int call_depth = 0; // recursiveness
// For every pair of do_cmdline()/do_one_cmd() calls, use an extra memory
@@ -351,7 +347,7 @@ int do_cmdline(char *cmdline, LineGetter fgetline, void *cookie, int flags)
// combine the messages stored by an earlier invocation of do_one_cmd()
// with the command name of the later one. This would happen when
// BufWritePost autocommands are executed after a write error.
- saved_msg_list = msg_list;
+ msglist_T **saved_msg_list = msg_list;
msg_list = &private_msg_list;
private_msg_list = NULL;
@@ -371,10 +367,10 @@ int do_cmdline(char *cmdline, LineGetter fgetline, void *cookie, int flags)
ga_init(&lines_ga, (int)sizeof(wcmd_T), 10);
- real_cookie = getline_cookie(fgetline, cookie);
+ void *real_cookie = getline_cookie(fgetline, cookie);
// Inside a function use a higher nesting level.
- getline_is_func = getline_equal(fgetline, cookie, get_func_line);
+ bool getline_is_func = getline_equal(fgetline, cookie, get_func_line);
if (getline_is_func && ex_nesting_level == func_level(real_cookie)) {
ex_nesting_level++;
}
@@ -406,7 +402,7 @@ int do_cmdline(char *cmdline, LineGetter fgetline, void *cookie, int flags)
CLEAR_FIELD(debug_saved);
}
- initial_trylevel = trylevel;
+ int initial_trylevel = trylevel;
// "did_throw" will be set to true when an exception is being thrown.
did_throw = false;
@@ -5328,8 +5324,6 @@ static void ex_edit(exarg_T *eap)
/// @param old_curwin curwin before doing a split or NULL
void do_exedit(exarg_T *eap, win_T *old_curwin)
{
- int n;
-
// ":vi" command ends Ex mode.
if (exmode_active && (eap->cmdidx == CMD_visual
|| eap->cmdidx == CMD_view)) {
@@ -5380,7 +5374,7 @@ void do_exedit(exarg_T *eap, win_T *old_curwin)
if (*eap->arg != NUL && text_or_buf_locked()) {
return;
}
- n = readonlymode;
+ int n = readonlymode;
if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview) {
readonlymode = true;
} else if (eap->cmdidx == CMD_enew) {
@@ -5428,7 +5422,7 @@ void do_exedit(exarg_T *eap, win_T *old_curwin)
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
- n = curwin->w_arg_idx_invalid;
+ int n = curwin->w_arg_idx_invalid;
check_arg_idx(curwin);
if (n != curwin->w_arg_idx_invalid) {
maketitle();
@@ -6498,8 +6492,7 @@ static void ex_normal(exarg_T *eap)
// Count the number of characters to be escaped.
int l;
- char *p;
- for (p = eap->arg; *p != NUL; p++) {
+ for (char *p = eap->arg; *p != NUL; p++) {
for (l = utfc_ptr2len(p) - 1; l > 0; l--) {
if (*++p == (char)K_SPECIAL) { // trailbyte K_SPECIAL
len += 2;
@@ -6509,7 +6502,7 @@ static void ex_normal(exarg_T *eap)
if (len > 0) {
arg = xmalloc(strlen(eap->arg) + (size_t)len + 1);
len = 0;
- for (p = eap->arg; *p != NUL; p++) {
+ for (char *p = eap->arg; *p != NUL; p++) {
arg[len++] = *p;
for (l = utfc_ptr2len(p) - 1; l > 0; l--) {
arg[len++] = *++p;
diff --git a/src/nvim/ex_eval.c b/src/nvim/ex_eval.c
index 60dd5a076e..00abade4b0 100644
--- a/src/nvim/ex_eval.c
+++ b/src/nvim/ex_eval.c
@@ -156,7 +156,6 @@ bool cause_errthrow(const char *mesg, bool multiline, bool severe, bool *ignore)
FUNC_ATTR_NONNULL_ALL
{
msglist_T *elem;
- msglist_T **plist;
// Do nothing when displaying the interrupt message or reporting an
// uncaught exception (which has already been discarded then) at the top
@@ -237,7 +236,7 @@ bool cause_errthrow(const char *mesg, bool multiline, bool severe, bool *ignore)
// returned. - Throw only the first of several errors in a row, except
// a severe error is following.
if (msg_list != NULL) {
- plist = msg_list;
+ msglist_T **plist = msg_list;
while (*plist != NULL) {
plist = &(*plist)->next;
}
@@ -249,10 +248,8 @@ bool cause_errthrow(const char *mesg, bool multiline, bool severe, bool *ignore)
elem->throw_msg = NULL;
*plist = elem;
if (plist == msg_list || severe) {
- char *tmsg;
-
// Skip the extra "Vim " prefix for message "E458".
- tmsg = elem->msg;
+ char *tmsg = elem->msg;
if (strncmp(tmsg, "Vim E", 5) == 0
&& ascii_isdigit(tmsg[5])
&& ascii_isdigit(tmsg[6])
@@ -277,10 +274,9 @@ bool cause_errthrow(const char *mesg, bool multiline, bool severe, bool *ignore)
/// Free a "msg_list" and the messages it contains.
static void free_msglist(msglist_T *l)
{
- msglist_T *next;
msglist_T *messages = l;
while (messages != NULL) {
- next = messages->next;
+ msglist_T *next = messages->next;
xfree(messages->msg);
xfree(messages->sfile);
xfree(messages);
@@ -376,13 +372,12 @@ int do_intthrow(cstack_T *cstack)
/// Get an exception message that is to be stored in current_exception->value.
char *get_exception_string(void *value, except_type_T type, char *cmdname, int *should_free)
{
- char *ret, *mesg;
+ char *ret;
if (type == ET_ERROR) {
- char *p;
char *val;
*should_free = true;
- mesg = ((msglist_T *)value)->throw_msg;
+ char *mesg = ((msglist_T *)value)->throw_msg;
if (cmdname != NULL && *cmdname != NUL) {
size_t cmdlen = strlen(cmdname);
ret = xstrnsave("Vim(", 4 + cmdlen + 2 + strlen(mesg));
@@ -397,7 +392,7 @@ char *get_exception_string(void *value, except_type_T type, char *cmdname, int *
// msg_add_fname may have been used to prefix the message with a file
// name in quotes. In the exception value, put the file name in
// parentheses and move it to the end.
- for (p = mesg;; p++) {
+ for (char *p = mesg;; p++) {
if (*p == NUL
|| (*p == 'E'
&& ascii_isdigit(p[1])
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index 912eab2a31..69025d81c7 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -249,14 +249,9 @@ static bool do_incsearch_highlighting(int firstc, int *search_delim, incsearch_s
int *skiplen, int *patlen)
FUNC_ATTR_NONNULL_ALL
{
- char *cmd;
char *p;
bool delim_optional = false;
- int delim;
- char *end;
const char *dummy;
- pos_T save_cursor;
- bool use_last_pat;
bool retval = false;
magic_T magic = 0;
@@ -290,7 +285,7 @@ static bool do_incsearch_highlighting(int firstc, int *search_delim, incsearch_s
cmdmod_T dummy_cmdmod;
parse_command_modifiers(&ea, &dummy, &dummy_cmdmod, true);
- cmd = skip_range(ea.cmd, NULL);
+ char *cmd = skip_range(ea.cmd, NULL);
if (vim_strchr("sgvl", (uint8_t)(*cmd)) == NULL) {
goto theend;
}
@@ -341,11 +336,11 @@ static bool do_incsearch_highlighting(int firstc, int *search_delim, incsearch_s
}
p = skipwhite(p);
- delim = (delim_optional && vim_isIDc((uint8_t)(*p))) ? ' ' : *p++;
+ int delim = (delim_optional && vim_isIDc((uint8_t)(*p))) ? ' ' : *p++;
*search_delim = delim;
- end = skip_regexp_ex(p, delim, magic_isset(), NULL, NULL, &magic);
+ char *end = skip_regexp_ex(p, delim, magic_isset(), NULL, NULL, &magic);
- use_last_pat = end == p && *end == delim;
+ bool use_last_pat = end == p && *end == delim;
if (end == p && !use_last_pat) {
goto theend;
}
@@ -366,7 +361,7 @@ static bool do_incsearch_highlighting(int firstc, int *search_delim, incsearch_s
*patlen = (int)(end - p);
// parse the address range
- save_cursor = curwin->w_cursor;
+ pos_T save_cursor = curwin->w_cursor;
curwin->w_cursor = s->search_start;
parse_cmd_address(&ea, &dummy, true);
if (ea.addr_count > 0) {
@@ -395,10 +390,7 @@ theend:
static void may_do_incsearch_highlighting(int firstc, int count, incsearch_state_T *s)
{
pos_T end_pos;
- proftime_T tm;
int skiplen, patlen;
- char next_char;
- bool use_last_pat;
int search_delim;
// Parsing range may already set the last search pattern.
@@ -435,9 +427,9 @@ static void may_do_incsearch_highlighting(int firstc, int count, incsearch_state
int found; // do_search() result
// Use the previous pattern for ":s//".
- next_char = ccline.cmdbuff[skiplen + patlen];
- use_last_pat = patlen == 0 && skiplen > 0
- && ccline.cmdbuff[skiplen - 1] == next_char;
+ char next_char = ccline.cmdbuff[skiplen + patlen];
+ bool use_last_pat = patlen == 0 && skiplen > 0
+ && ccline.cmdbuff[skiplen - 1] == next_char;
// If there is no pattern, don't do anything.
if (patlen == 0 && !use_last_pat) {
@@ -450,7 +442,7 @@ static void may_do_incsearch_highlighting(int firstc, int count, incsearch_state
ui_flush();
emsg_off++; // So it doesn't beep if bad expr
// Set the time limit to half a second.
- tm = profile_setlimit(500);
+ proftime_T tm = profile_setlimit(500);
if (!p_hls) {
search_flags += SEARCH_KEEP;
}
@@ -1408,7 +1400,6 @@ static int may_do_command_line_next_incsearch(int firstc, int count, incsearch_s
pos_T t;
char *pat;
int search_flags = SEARCH_NOOF;
- char save;
if (search_delim == ccline.cmdbuff[skiplen]) {
pat = last_search_pattern();
@@ -1437,7 +1428,7 @@ static int may_do_command_line_next_incsearch(int firstc, int count, incsearch_s
search_flags += SEARCH_KEEP;
}
emsg_off++;
- save = pat[patlen];
+ char save = pat[patlen];
pat[patlen] = NUL;
int found = searchit(curwin, curbuf, &t, NULL,
next_match ? FORWARD : BACKWARD,
@@ -3971,11 +3962,9 @@ void escape_fname(char **pp)
/// If 'orig_pat' starts with "~/", replace the home directory with "~".
void tilde_replace(char *orig_pat, int num_files, char **files)
{
- char *p;
-
if (orig_pat[0] == '~' && vim_ispathsep(orig_pat[1])) {
for (int i = 0; i < num_files; i++) {
- p = home_replace_save(NULL, files[i]);
+ char *p = home_replace_save(NULL, files[i]);
xfree(files[i]);
files[i] = p;
}
diff --git a/src/nvim/ex_session.c b/src/nvim/ex_session.c
index 3807436efb..aa85696b51 100644
--- a/src/nvim/ex_session.c
+++ b/src/nvim/ex_session.c
@@ -60,11 +60,9 @@ static int put_view_curpos(FILE *fd, const win_T *wp, char *spaces)
static int ses_winsizes(FILE *fd, int restore_size, win_T *tab_firstwin)
{
- win_T *wp;
-
if (restore_size && (ssop_flags & SSOP_WINSIZE)) {
int n = 0;
- for (wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
+ for (win_T *wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
if (!ses_do_win(wp)) {
continue;
}
@@ -104,7 +102,6 @@ static int ses_winsizes(FILE *fd, int restore_size, win_T *tab_firstwin)
/// @return FAIL when writing the commands to "fd" fails.
static int ses_win_rec(FILE *fd, frame_T *fr)
{
- frame_T *frc;
int count = 0;
if (fr->fr_layout == FR_LEAF) {
@@ -113,7 +110,7 @@ static int ses_win_rec(FILE *fd, frame_T *fr)
// Find first frame that's not skipped and then create a window for
// each following one (first frame is already there).
- frc = ses_skipframe(fr->fr_child);
+ frame_T *frc = ses_skipframe(fr->fr_child);
if (frc != NULL) {
while ((frc = ses_skipframe(frc->fr_next)) != NULL) {
// Make window as big as possible so that we have lots of room
@@ -315,14 +312,12 @@ static int ses_put_fname(FILE *fd, char *name, unsigned *flagp)
/// @param current_arg_idx current argument index of the window, use -1 if unknown
static int put_view(FILE *fd, win_T *wp, int add_edit, unsigned *flagp, int current_arg_idx)
{
- win_T *save_curwin;
int f;
- int do_cursor;
int did_next = false;
// Always restore cursor position for ":mksession". For ":mkview" only
// when 'viewoptions' contains "cursor".
- do_cursor = (flagp == &ssop_flags || *flagp & SSOP_CURSOR);
+ int do_cursor = (flagp == &ssop_flags || *flagp & SSOP_CURSOR);
// Local argument list.
if (wp->w_alist == &global_alist) {
@@ -428,7 +423,7 @@ static int put_view(FILE *fd, win_T *wp, int add_edit, unsigned *flagp, int curr
// used and 'sessionoptions' doesn't include "nvim/options".
// Some folding options are always stored when "folds" is included,
// otherwise the folds would not be restored correctly.
- save_curwin = curwin;
+ win_T *save_curwin = curwin;
curwin = wp;
curbuf = curwin->w_buffer;
if (*flagp & (SSOP_OPTIONS | SSOP_LOCALOPTIONS)) {
@@ -534,8 +529,6 @@ static int makeopens(FILE *fd, char *dirnow)
{
int only_save_windows = true;
int restore_size = true;
- win_T *wp;
- char *sname;
win_T *edited_win = NULL;
win_T *tab_firstwin;
frame_T *tab_topframe;
@@ -565,7 +558,7 @@ static int makeopens(FILE *fd, char *dirnow)
if (ssop_flags & SSOP_SESDIR) {
PUTLINE_FAIL("exe \"cd \" . escape(expand(\"<sfile>:p:h\"), ' ')");
} else if (ssop_flags & SSOP_CURDIR) {
- sname = home_replace_save(NULL, globaldir != NULL ? globaldir : dirnow);
+ char *sname = home_replace_save(NULL, globaldir != NULL ? globaldir : dirnow);
char *fname_esc = ses_escape_fname(sname, &ssop_flags);
if (fprintf(fd, "cd %s\n", fname_esc) < 0) {
xfree(fname_esc);
@@ -691,7 +684,7 @@ static int makeopens(FILE *fd, char *dirnow)
// Before creating the window layout, try loading one file. If this
// is aborted we don't end up with a number of useless windows.
// This may have side effects! (e.g., compressed or network file).
- for (wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
+ for (win_T *wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
if (ses_do_win(wp)
&& wp->w_buffer->b_ffname != NULL
&& !bt_help(wp->w_buffer)
@@ -732,7 +725,7 @@ static int makeopens(FILE *fd, char *dirnow)
// Check if window sizes can be restored (no windows omitted).
// Remember the window number of the current window after restoring.
int nr = 0;
- for (wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
+ for (win_T *wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
if (ses_do_win(wp)) {
nr++;
} else {
@@ -781,7 +774,7 @@ static int makeopens(FILE *fd, char *dirnow)
}
// Restore the view of the window (options, file, cursor, etc.).
- for (wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
+ for (win_T *wp = tab_firstwin; wp != NULL; wp = wp->w_next) {
if (!ses_do_win(wp)) {
continue;
}
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 3010ded1d0..e89bb41745 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -87,7 +87,6 @@ static const char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buf
void filemess(buf_T *buf, char *name, char *s, int attr)
{
- int msg_scroll_save;
int prev_msg_col = msg_col;
if (msg_silent != 0) {
@@ -102,7 +101,7 @@ void filemess(buf_T *buf, char *name, char *s, int attr)
// For the first message may have to start a new line.
// For further ones overwrite the previous one, reset msg_scroll before
// calling filemess().
- msg_scroll_save = msg_scroll;
+ int msg_scroll_save = msg_scroll;
if (shortmess(SHM_OVERALL) && !msg_listdo_overwrite && !exiting && p_verbose == 0) {
msg_scroll = false;
}
@@ -1323,7 +1322,6 @@ retry:
// Reading UTF-8: Check if the bytes are valid UTF-8.
for (p = (uint8_t *)ptr;; p++) {
int todo = (int)(((uint8_t *)ptr + size) - p);
- int l;
if (todo <= 0) {
break;
@@ -1333,7 +1331,7 @@ retry:
// an incomplete character at the end though, the next
// read() will get the next bytes, we'll check it
// then.
- l = utf_ptr2len_len((char *)p, todo);
+ int l = utf_ptr2len_len((char *)p, todo);
if (l > todo && !incomplete_tail) {
// Avoid retrying with a different encoding when
// a truncated file is more likely, or attempting
@@ -1905,11 +1903,8 @@ bool is_dev_fd_file(char *fname)
/// @param endp end of more bytes read
static linenr_T readfile_linenr(linenr_T linecnt, char *p, const char *endp)
{
- char *s;
- linenr_T lnum;
-
- lnum = curbuf->b_ml.ml_line_count - linecnt + 1;
- for (s = p; s < endp; s++) {
+ linenr_T lnum = curbuf->b_ml.ml_line_count - linecnt + 1;
+ for (char *s = p; s < endp; s++) {
if (*s == '\n') {
lnum++;
}
@@ -1977,7 +1972,6 @@ void set_forced_fenc(exarg_T *eap)
static char *next_fenc(char **pp, bool *alloced)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET
{
- char *p;
char *r;
*alloced = false;
@@ -1985,7 +1979,7 @@ static char *next_fenc(char **pp, bool *alloced)
*pp = NULL;
return "";
}
- p = vim_strchr(*pp, ',');
+ char *p = vim_strchr(*pp, ',');
if (p == NULL) {
r = enc_canonize(*pp);
*pp += strlen(*pp);
@@ -2012,10 +2006,9 @@ static char *next_fenc(char **pp, bool *alloced)
/// Returns NULL if the conversion failed ("*fdp" is not set) .
static char *readfile_charconvert(char *fname, char *fenc, int *fdp)
{
- char *tmpname;
char *errmsg = NULL;
- tmpname = vim_tempname();
+ char *tmpname = vim_tempname();
if (tmpname == NULL) {
errmsg = _("Can't find temp file for conversion");
} else {
@@ -3246,12 +3239,10 @@ void write_lnum_adjust(linenr_T offset)
/// unless when it looks like a URL.
void forward_slash(char *fname)
{
- char *p;
-
if (path_with_url(fname)) {
return;
}
- for (p = fname; *p != NUL; p++) {
+ for (char *p = fname; *p != NUL; p++) {
if (*p == '\\') {
*p = '/';
}
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index 47577714bb..df94822936 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -1952,7 +1952,6 @@ static int handle_mapping(int *keylenp, const bool *timedout, int *mapdepth)
int mp_match_len = 0;
int max_mlen = 0;
int tb_c1;
- int mlen;
int keylen = *keylenp;
int local_State = get_real_state();
bool is_plug_map = false;
@@ -1986,6 +1985,7 @@ static int handle_mapping(int *keylenp, const bool *timedout, int *mapdepth)
&& State != MODE_ASKMORE
&& State != MODE_CONFIRM
&& !at_ins_compl_key()) {
+ int mlen;
int nolmaplen;
if (tb_c1 == K_SPECIAL) {
nolmaplen = 2;
diff --git a/src/nvim/grid.c b/src/nvim/grid.c
index 15b648bb03..f21b7e3a90 100644
--- a/src/nvim/grid.c
+++ b/src/nvim/grid.c
@@ -549,8 +549,6 @@ void grid_line_flush_if_valid_row(void)
void grid_fill(ScreenGrid *grid, int start_row, int end_row, int start_col, int end_col, int c1,
int c2, int attr)
{
- schar_T sc;
-
int row_off = 0, col_off = 0;
grid_adjust(&grid, &row_off, &col_off);
start_row += row_off;
@@ -594,7 +592,7 @@ void grid_fill(ScreenGrid *grid, int start_row, int end_row, int start_col, int
}
int col = start_col;
- sc = schar_from_char(c1);
+ schar_T sc = schar_from_char(c1);
for (col = start_col; col < end_col; col++) {
size_t off = lineoff + (size_t)col;
if (grid->chars[off] != sc || grid->attrs[off] != attr || rdb_flags & RDB_NODELTA) {
diff --git a/src/nvim/help.c b/src/nvim/help.c
index 3e7577505d..14dc7b6623 100644
--- a/src/nvim/help.c
+++ b/src/nvim/help.c
@@ -55,8 +55,6 @@ void ex_help(exarg_T *eap)
char **matches;
int empty_fnum = 0;
int alt_fnum = 0;
- buf_T *buf;
- int len;
const bool old_KeyTyped = KeyTyped;
if (eap != NULL) {
@@ -105,7 +103,7 @@ void ex_help(exarg_T *eap)
if (n != FAIL && lang != NULL) {
// Find first item with the requested language.
for (i = 0; i < num_matches; i++) {
- len = (int)strlen(matches[i]);
+ int len = (int)strlen(matches[i]);
if (len > 3 && matches[i][len - 3] == '@'
&& STRICMP(matches[i] + len - 2, lang) == 0) {
break;
@@ -196,7 +194,7 @@ void ex_help(exarg_T *eap)
// may have jumped to another window, check that the buffer is not in a
// window.
if (empty_fnum != 0 && curbuf->b_fnum != empty_fnum) {
- buf = buflist_findnr(empty_fnum);
+ buf_T *buf = buflist_findnr(empty_fnum);
if (buf != NULL && buf->b_nwindows == 0) {
wipe_buffer(buf, true);
}
@@ -647,9 +645,6 @@ void prepare_help_buffer(void)
/// highlighting is not used.
void fix_help_buffer(void)
{
- linenr_T lnum;
- char *line;
-
// Set filetype to "help".
if (strcmp(curbuf->b_p_ft, "help") != 0) {
curbuf->b_ro_locked++;
@@ -659,8 +654,8 @@ void fix_help_buffer(void)
if (!syntax_present(curwin)) {
bool in_example = false;
- for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; lnum++) {
- line = ml_get_buf(curbuf, lnum);
+ for (linenr_T lnum = 1; lnum <= curbuf->b_ml.ml_line_count; lnum++) {
+ char *line = ml_get_buf(curbuf, lnum);
const size_t len = strlen(line);
if (in_example && len > 0 && !ascii_iswhite(line[0])) {
// End of example: non-white or '<' in first column.
@@ -695,8 +690,8 @@ void fix_help_buffer(void)
&& ASCII_ISALPHA(fname[6])
&& TOLOWER_ASC(fname[7]) == 'x'
&& fname[8] == NUL)) {
- for (lnum = 1; lnum < curbuf->b_ml.ml_line_count; lnum++) {
- line = ml_get_buf(curbuf, lnum);
+ for (linenr_T lnum = 1; lnum < curbuf->b_ml.ml_line_count; lnum++) {
+ char *line = ml_get_buf(curbuf, lnum);
if (strstr(line, "*local-additions*") == NULL) {
continue;
}
diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c
index 42f3a78f27..bd32c6e2dc 100644
--- a/src/nvim/insexpand.c
+++ b/src/nvim/insexpand.c
@@ -910,7 +910,6 @@ static bool ins_compl_equal(compl_T *match, char *str, size_t len)
static void ins_compl_longest_match(compl_T *match)
{
char *p, *s;
- int c1, c2;
int had_match;
if (compl_leader == NULL) {
@@ -936,8 +935,8 @@ static void ins_compl_longest_match(compl_T *match)
p = compl_leader;
s = match->cp_str;
while (*p != NUL) {
- c1 = utf_ptr2char(p);
- c2 = utf_ptr2char(s);
+ int c1 = utf_ptr2char(p);
+ int c2 = utf_ptr2char(s);
if ((match->cp_flags & CP_ICASE)
? (mb_tolower(c1) != mb_tolower(c2))
@@ -1442,11 +1441,10 @@ static void ins_compl_files(int count, char **files, int thesaurus, int flags, r
{
char *ptr;
int i;
- FILE *fp;
int add_r;
for (i = 0; i < count && !got_int && !compl_interrupted; i++) {
- fp = os_fopen(files[i], "r"); // open dictionary file
+ FILE *fp = os_fopen(files[i], "r"); // open dictionary file
if (flags != DICT_EXACT && !shortmess(SHM_COMPLETIONSCAN)) {
msg_hist_off = true; // reset in msg_trunc()
vim_snprintf(IObuff, IOSIZE,
@@ -2181,7 +2179,6 @@ bool ins_compl_prep(int c)
static void ins_compl_fixRedoBufForLeader(char *ptr_arg)
{
int len;
- char *p;
char *ptr = ptr_arg;
if (ptr == NULL) {
@@ -2192,7 +2189,7 @@ static void ins_compl_fixRedoBufForLeader(char *ptr_arg)
}
}
if (compl_orig_text != NULL) {
- p = compl_orig_text;
+ char *p = compl_orig_text;
for (len = 0; p[len] != NUL && p[len] == ptr[len]; len++) {}
if (len > 0) {
len -= utf_head_off(p, p + len);
@@ -3853,15 +3850,13 @@ static bool ins_compl_pum_key(int c)
/// Returns 1 for most keys, height of the popup menu for page-up/down keys.
static int ins_compl_key2count(int c)
{
- int h;
-
if (c == K_EVENT || c == K_COMMAND || c == K_LUA) {
int offset = pum_want.item - pum_selected_item;
return abs(offset);
}
if (ins_compl_pum_key(c) && c != K_UP && c != K_DOWN) {
- h = pum_get_height();
+ int h = pum_get_height();
if (h > 3) {
h -= 2; // keep some context
}
diff --git a/src/nvim/keycodes.c b/src/nvim/keycodes.c
index dcb1b74198..66ee51f09f 100644
--- a/src/nvim/keycodes.c
+++ b/src/nvim/keycodes.c
@@ -469,7 +469,6 @@ char *get_special_key_name(int c, int modifiers)
int i, idx;
int table_idx;
- char *s;
string[0] = '<';
idx = 1;
@@ -536,7 +535,7 @@ char *get_special_key_name(int c, int modifiers)
} else if (vim_isprintc(c)) {
string[idx++] = (char)(uint8_t)c;
} else {
- s = transchar(c);
+ char *s = transchar(c);
while (*s) {
string[idx++] = *s++;
}
@@ -631,7 +630,6 @@ int find_special_key(const char **const srcp, const size_t src_len, int *const m
const char *const end = *srcp + src_len - 1;
const bool in_string = flags & FSK_IN_STRING;
int modifiers;
- int bit;
uvarnumber_T n;
int l;
@@ -686,7 +684,7 @@ int find_special_key(const char **const srcp, const size_t src_len, int *const m
modifiers = 0x0;
for (bp = src + 1; bp < last_dash; bp++) {
if (*bp != '-') {
- bit = name_to_mod_mask((uint8_t)(*bp));
+ int bit = name_to_mod_mask((uint8_t)(*bp));
if (bit == 0x0) {
break; // Illegal modifier name
}
diff --git a/src/nvim/main.c b/src/nvim/main.c
index f80fb98918..00eb6e75a5 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -1749,7 +1749,6 @@ static void create_windows(mparm_T *parmp)
static void edit_buffers(mparm_T *parmp, char *cwd)
{
int arg_idx; // index in argument list
- int i;
bool advance = true;
win_T *win;
char *p_shm_save = NULL;
@@ -1765,7 +1764,7 @@ static void edit_buffers(mparm_T *parmp, char *cwd)
}
arg_idx = 1;
- for (i = 1; i < parmp->window_count; i++) {
+ for (int i = 1; i < parmp->window_count; i++) {
if (cwd != NULL) {
os_chdir(cwd);
}
@@ -1869,7 +1868,6 @@ static void exe_pre_commands(mparm_T *parmp)
{
char **cmds = parmp->pre_commands;
int cnt = parmp->n_pre_commands;
- int i;
if (cnt <= 0) {
return;
@@ -1878,7 +1876,7 @@ static void exe_pre_commands(mparm_T *parmp)
curwin->w_cursor.lnum = 0; // just in case..
estack_push(ETYPE_ARGS, _("pre-vimrc command line"), 0);
current_sctx.sc_sid = SID_CMDARG;
- for (i = 0; i < cnt; i++) {
+ for (int i = 0; i < cnt; i++) {
do_cmdline_cmd(cmds[i]);
}
estack_pop();
@@ -1889,8 +1887,6 @@ static void exe_pre_commands(mparm_T *parmp)
// Execute "+", "-c" and "-S" arguments.
static void exe_commands(mparm_T *parmp)
{
- int i;
-
// We start commands on line 0, make "vim +/pat file" match a
// pattern on line 1. But don't move the cursor when an autocommand
// with g`" was used.
@@ -1901,7 +1897,7 @@ static void exe_commands(mparm_T *parmp)
estack_push(ETYPE_ARGS, "command line", 0);
current_sctx.sc_sid = SID_CARG;
current_sctx.sc_seq = 0;
- for (i = 0; i < parmp->n_commands; i++) {
+ for (int i = 0; i < parmp->n_commands; i++) {
do_cmdline_cmd(parmp->commands[i]);
if (parmp->cmds_tofree[i]) {
xfree(parmp->commands[i]);
diff --git a/src/nvim/match.c b/src/nvim/match.c
index 5ecccdd1dd..3420455e5f 100644
--- a/src/nvim/match.c
+++ b/src/nvim/match.c
@@ -354,11 +354,10 @@ void init_search_hl(win_T *wp, match_T *search_hl)
static int next_search_hl_pos(match_T *shl, linenr_T lnum, matchitem_T *match, colnr_T mincol)
FUNC_ATTR_NONNULL_ALL
{
- int i;
int found = -1;
shl->lnum = 0;
- for (i = match->mit_pos_cur; i < match->mit_pos_count; i++) {
+ for (int i = match->mit_pos_cur; i < match->mit_pos_count; i++) {
llpos_T *pos = &match->mit_pos_array[i];
if (pos->lnum == 0) {
@@ -902,7 +901,6 @@ void f_clearmatches(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
void f_getmatches(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
{
matchitem_T *cur;
- int i;
win_T *win = get_optional_window(argvars, 0);
tv_list_alloc_ret(rettv, kListLenMayKnow);
@@ -915,7 +913,7 @@ void f_getmatches(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
dict_T *dict = tv_dict_alloc();
if (cur->mit_match.regprog == NULL) {
// match added with matchaddpos()
- for (i = 0; i < cur->mit_pos_count; i++) {
+ for (int i = 0; i < cur->mit_pos_count; i++) {
llpos_T *llpos;
char buf[30]; // use 30 to avoid compiler warning
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index 39ee65d9d3..0d468889a4 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -693,9 +693,7 @@ static int utf_safe_read_char_adv(const char **s, size_t *n)
// Note: composing characters are skipped!
int mb_ptr2char_adv(const char **const pp)
{
- int c;
-
- c = utf_ptr2char(*pp);
+ int c = utf_ptr2char(*pp);
*pp += utfc_ptr2len(*pp);
return c;
}
@@ -704,9 +702,7 @@ int mb_ptr2char_adv(const char **const pp)
// Note: composing characters are returned as separate characters.
int mb_cptr2char_adv(const char **pp)
{
- int c;
-
- c = utf_ptr2char(*pp);
+ int c = utf_ptr2char(*pp);
*pp += utf_ptr2len(*pp);
return c;
}
@@ -716,9 +712,7 @@ int mb_cptr2char_adv(const char **pp)
/// behaves like a composing character.
bool utf_composinglike(const char *p1, const char *p2)
{
- int c2;
-
- c2 = utf_ptr2char(p2);
+ int c2 = utf_ptr2char(p2);
if (utf_iscomposing(c2)) {
return true;
}
@@ -842,10 +836,9 @@ int utf_byte2len(int b)
// Never returns zero.
int utf_ptr2len_len(const char *p, int size)
{
- int len;
int m;
- len = utf8len_tab[(uint8_t)(*p)];
+ int len = utf8len_tab[(uint8_t)(*p)];
if (len == 1) {
return 1; // NUL, ascii or illegal lead byte
}
@@ -905,9 +898,6 @@ int utfc_ptr2len(const char *const p)
/// Returns 1 for an illegal char or an incomplete byte sequence.
int utfc_ptr2len_len(const char *p, int size)
{
- int len;
- int prevlen;
-
if (size < 1 || *p == NUL) {
return 0;
}
@@ -916,7 +906,7 @@ int utfc_ptr2len_len(const char *p, int size)
}
// Skip over first UTF-8 char, stopping at a NUL byte.
- len = utf_ptr2len_len(p, size);
+ int len = utf_ptr2len_len(p, size);
// Check for illegal byte and incomplete byte sequence.
if ((len == 1 && (uint8_t)p[0] >= 0x80) || len > size) {
@@ -925,17 +915,15 @@ int utfc_ptr2len_len(const char *p, int size)
// Check for composing characters. We can handle only the first six, but
// skip all of them (otherwise the cursor would get stuck).
- prevlen = 0;
+ int prevlen = 0;
while (len < size) {
- int len_next_char;
-
if ((uint8_t)p[len] < 0x80) {
break;
}
// Next character length should not go beyond size to ensure that
// utf_composinglike(...) does not read beyond size.
- len_next_char = utf_ptr2len_len(p + len, size - len);
+ int len_next_char = utf_ptr2len_len(p + len, size - len);
if (len_next_char > size - len) {
break;
}
@@ -1836,7 +1824,6 @@ int utf_cp_tail_off(const char *base, const char *p_in)
int utf_cp_head_off(const char *base, const char *p)
{
int i;
- int j;
if (*p == NUL) {
return 0;
@@ -1850,7 +1837,7 @@ int utf_cp_head_off(const char *base, const char *p)
}
// Find the last character that is 10xx.xxxx
- for (j = 0; ((uint8_t)p[j + 1] & 0xc0) == 0x80; j++) {}
+ for (int j = 0; ((uint8_t)p[j + 1] & 0xc0) == 0x80; j++) {}
// Check for illegal sequence.
if (utf8len_tab[(uint8_t)p[i]] == 1) {
@@ -2118,7 +2105,6 @@ char *enc_skip(char *p)
char *enc_canonize(char *enc)
FUNC_ATTR_NONNULL_RET
{
- char *p, *s;
if (strcmp(enc, "default") == 0) {
// Use the default encoding as found by set_init_1().
return xstrdup(fenc_default);
@@ -2127,8 +2113,8 @@ char *enc_canonize(char *enc)
// copy "enc" to allocated memory, with room for two '-'
char *r = xmalloc(strlen(enc) + 3);
// Make it all lower case and replace '_' with '-'.
- p = r;
- for (s = enc; *s != NUL; s++) {
+ char *p = r;
+ for (char *s = enc; *s != NUL; s++) {
if (*s == '_') {
*p++ = '-';
} else {
@@ -2260,17 +2246,14 @@ enc_locale_copy_enc:
// (should return iconv_t, but that causes problems with prototypes).
void *my_iconv_open(char *to, char *from)
{
- iconv_t fd;
#define ICONV_TESTLEN 400
char tobuf[ICONV_TESTLEN];
- char *p;
- size_t tolen;
static WorkingStatus iconv_working = kUnknown;
if (iconv_working == kBroken) {
return (void *)-1; // detected a broken iconv() previously
}
- fd = iconv_open(enc_skip(to), enc_skip(from));
+ iconv_t fd = iconv_open(enc_skip(to), enc_skip(from));
if (fd != (iconv_t)-1 && iconv_working == kUnknown) {
// Do a dummy iconv() call to check if it actually works. There is a
@@ -2278,8 +2261,8 @@ void *my_iconv_open(char *to, char *from)
// because it's wide-spread. The symptoms are that after outputting
// the initial shift state the "to" pointer is NULL and conversion
// stops for no apparent reason after about 8160 characters.
- p = tobuf;
- tolen = ICONV_TESTLEN;
+ char *p = tobuf;
+ size_t tolen = ICONV_TESTLEN;
(void)iconv(fd, NULL, NULL, &p, &tolen);
if (p == NULL) {
iconv_working = kBroken;
@@ -2301,24 +2284,19 @@ void *my_iconv_open(char *to, char *from)
static char *iconv_string(const vimconv_T *const vcp, const char *str, size_t slen,
size_t *unconvlenp, size_t *resultlenp)
{
- const char *from;
- size_t fromlen;
char *to;
- size_t tolen;
size_t len = 0;
size_t done = 0;
char *result = NULL;
- char *p;
- int l;
- from = str;
- fromlen = slen;
+ const char *from = str;
+ size_t fromlen = slen;
while (true) {
if (len == 0 || ICONV_ERRNO == ICONV_E2BIG) {
// Allocate enough room for most conversions. When re-allocating
// increase the buffer size.
len = len + fromlen * 2 + 40;
- p = xmalloc(len);
+ char *p = xmalloc(len);
if (done > 0) {
memmove(p, result, done);
}
@@ -2327,7 +2305,7 @@ static char *iconv_string(const vimconv_T *const vcp, const char *str, size_t sl
}
to = result + done;
- tolen = len - done - 2;
+ size_t tolen = len - done - 2;
// Avoid a warning for systems with a wrong iconv() prototype by
// casting the second argument to void *.
if (iconv(vcp->vc_fd, (void *)&from, &fromlen, &to, &tolen) != SIZE_MAX) {
@@ -2357,7 +2335,7 @@ static char *iconv_string(const vimconv_T *const vcp, const char *str, size_t sl
if (utf_ptr2cells(from) > 1) {
*to++ = '?';
}
- l = utfc_ptr2len_len(from, (int)fromlen);
+ int l = utfc_ptr2len_len(from, (int)fromlen);
from += l;
fromlen -= (size_t)l;
} else if (ICONV_ERRNO != ICONV_E2BIG) {
@@ -2421,8 +2399,6 @@ int convert_setup(vimconv_T *vcp, char *from, char *to)
int convert_setup_ext(vimconv_T *vcp, char *from, bool from_unicode_is_utf8, char *to,
bool to_unicode_is_utf8)
{
- int from_prop;
- int to_prop;
int from_is_utf8;
int to_is_utf8;
@@ -2438,8 +2414,8 @@ int convert_setup_ext(vimconv_T *vcp, char *from, bool from_unicode_is_utf8, cha
return OK;
}
- from_prop = enc_canon_props(from);
- to_prop = enc_canon_props(to);
+ int from_prop = enc_canon_props(from);
+ int to_prop = enc_canon_props(to);
if (from_unicode_is_utf8) {
from_is_utf8 = from_prop & ENC_UNICODE;
} else {
diff --git a/src/nvim/menu.c b/src/nvim/menu.c
index 0e6b91090a..9e3fd56c36 100644
--- a/src/nvim/menu.c
+++ b/src/nvim/menu.c
@@ -800,8 +800,6 @@ static int show_menus(char *const path_name, int modes)
/// Recursively show the mappings associated with the menus under the given one
static void show_menus_recursive(vimmenu_T *menu, int modes, int depth)
{
- int i;
-
if (menu != NULL && (menu->modes & modes) == 0x0) {
return;
}
@@ -811,7 +809,7 @@ static void show_menus_recursive(vimmenu_T *menu, int modes, int depth)
if (got_int) { // "q" hit for "--more--"
return;
}
- for (i = 0; i < depth; i++) {
+ for (int i = 0; i < depth; i++) {
msg_puts(" ");
}
if (menu->priority) {
@@ -829,7 +827,7 @@ static void show_menus_recursive(vimmenu_T *menu, int modes, int depth)
if (got_int) { // "q" hit for "--more--"
return;
}
- for (i = 0; i < depth + 2; i++) {
+ for (int i = 0; i < depth + 2; i++) {
msg_puts(" ");
}
msg_puts(menu_mode_chars[bit]);
diff --git a/src/nvim/message.c b/src/nvim/message.c
index dbef962551..8be8581537 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -2680,7 +2680,6 @@ static int do_more_prompt(int typed_char)
bool to_redraw = false;
msgchunk_T *mp_last = NULL;
msgchunk_T *mp;
- int i;
// If headless mode is enabled and no input is required, this variable
// will be true. However If server mode is enabled, the message "--more--"
@@ -2698,7 +2697,7 @@ static int do_more_prompt(int typed_char)
if (typed_char == 'G') {
// "g<": Find first line on the last page.
mp_last = msg_sb_start(last_msgchunk);
- for (i = 0; i < Rows - 2 && mp_last != NULL
+ for (int i = 0; i < Rows - 2 && mp_last != NULL
&& mp_last->sb_prev != NULL; i++) {
mp_last = msg_sb_start(mp_last->sb_prev);
}
@@ -2816,13 +2815,13 @@ static int do_more_prompt(int typed_char)
}
// go to start of line at top of the screen
- for (i = 0; i < Rows - 2 && mp != NULL && mp->sb_prev != NULL; i++) {
+ for (int i = 0; i < Rows - 2 && mp != NULL && mp->sb_prev != NULL; i++) {
mp = msg_sb_start(mp->sb_prev);
}
if (mp != NULL && (mp->sb_prev != NULL || to_redraw)) {
// Find line to be displayed at top
- for (i = 0; i > toscroll; i--) {
+ for (int i = 0; i > toscroll; i--) {
if (mp == NULL || mp->sb_prev == NULL) {
break;
}
@@ -2846,7 +2845,7 @@ static int do_more_prompt(int typed_char)
// event fragmentization, not unnecessary scroll events).
grid_fill(&msg_grid_adj, 0, Rows, 0, Columns, ' ', ' ',
HL_ATTR(HLF_MSG));
- for (i = 0; mp != NULL && i < Rows - 1; i++) {
+ for (int i = 0; mp != NULL && i < Rows - 1; i++) {
mp = disp_sb_line(i, mp);
msg_scrolled++;
}
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index db59c2c98e..9c2b4e7b74 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -2541,9 +2541,7 @@ int op_change(oparg_T *oap)
#if defined(EXITFREE)
void clear_registers(void)
{
- int i;
-
- for (i = 0; i < NUM_REGISTERS; i++) {
+ for (int i = 0; i < NUM_REGISTERS; i++) {
free_register(&y_regs[i]);
}
}
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c
index b3ce4a3c91..2fd4c732fc 100644
--- a/src/nvim/os/shell.c
+++ b/src/nvim/os/shell.c
@@ -1234,12 +1234,12 @@ static size_t word_length(const char *str)
/// before we finish writing.
static void read_input(DynamicBuffer *buf)
{
- size_t written = 0, l = 0, len = 0;
+ size_t written = 0, len = 0;
linenr_T lnum = curbuf->b_op_start.lnum;
char *lp = ml_get(lnum);
while (true) {
- l = strlen(lp + written);
+ size_t l = strlen(lp + written);
if (l == 0) {
len = 0;
} else if (lp[written] == NL) {
diff --git a/src/nvim/path.c b/src/nvim/path.c
index d08866ed14..dc7e0d9645 100644
--- a/src/nvim/path.c
+++ b/src/nvim/path.c
@@ -1554,14 +1554,13 @@ void simplify_filename(char *filename)
if (components > 0) { // strip one preceding component
bool do_strip = false;
- char saved_char;
// Don't strip for an erroneous file name.
if (!stripping_disabled) {
// If the preceding component does not exist in the file
// system, we strip it. On Unix, we don't accept a symbolic
// link that refers to a non-existent file.
- saved_char = p[-1];
+ char saved_char = p[-1];
p[-1] = NUL;
FileInfo file_info;
if (!os_fileinfo_link(filename, &file_info)) {
@@ -2186,12 +2185,7 @@ int expand_wildcards_eval(char **pat, int *num_file, char ***file, int flags)
/// NULL or points to "".
int expand_wildcards(int num_pat, char **pat, int *num_files, char ***files, int flags)
{
- int retval;
- int i, j;
- char *p;
- int non_suf_match; // number without matching suffix
-
- retval = gen_expand_wildcards(num_pat, pat, num_files, files, flags);
+ int retval = gen_expand_wildcards(num_pat, pat, num_files, files, flags);
// When keeping all matches, return here
if ((flags & EW_KEEPALL) || retval == FAIL) {
@@ -2200,18 +2194,16 @@ int expand_wildcards(int num_pat, char **pat, int *num_files, char ***files, int
// Remove names that match 'wildignore'.
if (*p_wig) {
- char *ffname;
-
// check all files in (*files)[]
assert(*num_files == 0 || *files != NULL);
- for (i = 0; i < *num_files; i++) {
- ffname = FullName_save((*files)[i], false);
+ for (int i = 0; i < *num_files; i++) {
+ char *ffname = FullName_save((*files)[i], false);
assert((*files)[i] != NULL);
assert(ffname != NULL);
if (match_file_list(p_wig, (*files)[i], ffname)) {
// remove this matching file from the list
xfree((*files)[i]);
- for (j = i; j + 1 < *num_files; j++) {
+ for (int j = i; j + 1 < *num_files; j++) {
(*files)[j] = (*files)[j + 1];
}
(*num_files)--;
@@ -2225,12 +2217,12 @@ int expand_wildcards(int num_pat, char **pat, int *num_files, char ***files, int
// Skip when interrupted, the result probably won't be used.
assert(*num_files == 0 || *files != NULL);
if (*num_files > 1 && !got_int) {
- non_suf_match = 0;
- for (i = 0; i < *num_files; i++) {
+ int non_suf_match = 0; // number without matching suffix
+ for (int i = 0; i < *num_files; i++) {
if (!match_suffix((*files)[i])) {
// Move the name without matching suffix to the front of the list.
- p = (*files)[i];
- for (j = i; j > non_suf_match; j--) {
+ char *p = (*files)[i];
+ for (int j = i; j > non_suf_match; j--) {
(*files)[j] = (*files)[j - 1];
}
(*files)[non_suf_match++] = p;
diff --git a/src/nvim/popupmenu.c b/src/nvim/popupmenu.c
index 7db8fe01b7..4ed5d64c60 100644
--- a/src/nvim/popupmenu.c
+++ b/src/nvim/popupmenu.c
@@ -420,7 +420,6 @@ void pum_redraw(void)
int row = 0;
int attr_scroll = win_hl_attr(curwin, HLF_PSB);
int attr_thumb = win_hl_attr(curwin, HLF_PST);
- int i;
char *s;
char *p = NULL;
int width;
@@ -499,7 +498,7 @@ void pum_redraw(void)
/ (pum_size - pum_height);
}
- for (i = 0; i < pum_height; i++) {
+ for (int i = 0; i < pum_height; i++) {
int idx = i + pum_first;
const int *const attrs = (idx == pum_selected) ? attrsSel : attrsNorm;
int attr = attrs[0]; // start with "word" highlight
diff --git a/src/nvim/profile.c b/src/nvim/profile.c
index 3e824fc34f..80f613c096 100644
--- a/src/nvim/profile.c
+++ b/src/nvim/profile.c
@@ -434,12 +434,11 @@ static void prof_func_line(FILE *fd, int count, const proftime_T *total, const p
/// @param prefer_self when equal print only self time
static void prof_sort_list(FILE *fd, ufunc_T **sorttab, int st_len, char *title, bool prefer_self)
{
- int i;
ufunc_T *fp;
fprintf(fd, "FUNCTIONS SORTED ON %s TIME\n", title);
fprintf(fd, "count total (s) self (s) function\n");
- for (i = 0; i < 20 && i < st_len; i++) {
+ for (int i = 0; i < 20 && i < st_len; i++) {
fp = sorttab[i];
prof_func_line(fd, fp->uf_tm_count, &fp->uf_tm_total, &fp->uf_tm_self,
prefer_self);
diff --git a/src/nvim/runtime.c b/src/nvim/runtime.c
index 1438385e66..83c4a68af2 100644
--- a/src/nvim/runtime.c
+++ b/src/nvim/runtime.c
@@ -2583,10 +2583,8 @@ char *getsourceline(int c, void *cookie, int indent, bool do_concat)
}
if (line != NULL && sp->conv.vc_type != CONV_NONE) {
- char *s;
-
// Convert the encoding of the script line.
- s = string_convert(&sp->conv, line, NULL);
+ char *s = string_convert(&sp->conv, line, NULL);
if (s != NULL) {
xfree(line);
line = s;
diff --git a/src/nvim/spellfile.c b/src/nvim/spellfile.c
index 9bf5ef3ed8..67b29e25a4 100644
--- a/src/nvim/spellfile.c
+++ b/src/nvim/spellfile.c
@@ -3395,7 +3395,7 @@ static int store_aff_word(spellinfo_T *spin, char *word, char *afflist, afffile_
affentry_T *ae;
char newword[MAXWLEN];
int retval = OK;
- int i, j;
+ int j;
char *p;
int use_flags;
char *use_pfxlist;
@@ -3452,7 +3452,7 @@ static int store_aff_word(spellinfo_T *spin, char *word, char *afflist, afffile_
p = word;
if (ae->ae_chop != NULL) {
// Skip chop string.
- i = mb_charlen(ae->ae_chop);
+ int i = mb_charlen(ae->ae_chop);
for (; i > 0; i--) {
MB_PTR_ADV(p);
}
@@ -3464,7 +3464,7 @@ static int store_aff_word(spellinfo_T *spin, char *word, char *afflist, afffile_
if (ae->ae_chop != NULL) {
// Remove chop string.
p = newword + strlen(newword);
- i = mb_charlen(ae->ae_chop);
+ int i = mb_charlen(ae->ae_chop);
for (; i > 0; i--) {
MB_PTR_BACK(newword, p);
}
@@ -3514,7 +3514,7 @@ static int store_aff_word(spellinfo_T *spin, char *word, char *afflist, afffile_
// Combine the prefix IDs. Avoid adding the
// same ID twice.
- for (i = 0; i < pfxlen; i++) {
+ for (int i = 0; i < pfxlen; i++) {
for (j = 0; j < use_pfxlen; j++) {
if (pfxlist[i] == use_pfxlist[j]) {
break;
@@ -3536,7 +3536,7 @@ static int store_aff_word(spellinfo_T *spin, char *word, char *afflist, afffile_
// Combine the list of compound flags.
// Concatenate them to the prefix IDs list.
// Avoid adding the same ID twice.
- for (i = pfxlen; pfxlist[i] != NUL; i++) {
+ for (int i = pfxlen; pfxlist[i] != NUL; i++) {
for (j = use_pfxlen; use_pfxlist[j] != NUL; j++) {
if (pfxlist[i] == use_pfxlist[j]) {
break;
@@ -5072,16 +5072,15 @@ static int sug_maketable(spellinfo_T *spin)
/// @param gap place to store line of numbers
static int sug_filltable(spellinfo_T *spin, wordnode_T *node, int startwordnr, garray_T *gap)
{
- wordnode_T *p, *np;
int wordnr = startwordnr;
int nr;
int prev_nr;
- for (p = node; p != NULL; p = p->wn_sibling) {
+ for (wordnode_T *p = node; p != NULL; p = p->wn_sibling) {
if (p->wn_byte == NUL) {
gap->ga_len = 0;
prev_nr = 0;
- for (np = p; np != NULL && np->wn_byte == NUL; np = np->wn_sibling) {
+ for (wordnode_T *np = p; np != NULL && np->wn_byte == NUL; np = np->wn_sibling) {
ga_grow(gap, 10);
nr = (np->wn_flags << 16) + (np->wn_region & 0xffff);
@@ -5810,7 +5809,6 @@ static int write_spell_prefcond(FILE *fd, garray_T *gap, size_t *fwv)
// Use map string "map" for languages "lp".
static void set_map_str(slang_T *lp, const char *map)
{
- const char *p;
int headc = 0;
if (*map == NUL) {
@@ -5828,7 +5826,7 @@ static void set_map_str(slang_T *lp, const char *map)
// The similar characters are stored separated with slashes:
// "aaa/bbb/ccc/". Fill sl_map_array[c] with the character before c and
// before the same slash. For characters above 255 sl_map_hash is used.
- for (p = map; *p != NUL;) {
+ for (const char *p = map; *p != NUL;) {
int c = mb_cptr2char_adv(&p);
if (c == '/') {
headc = 0;
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index 007d088bbb..eb851a4c1b 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -485,10 +485,8 @@ void sort_strings(char **files, int count)
bool has_non_ascii(const char *s)
FUNC_ATTR_PURE
{
- const char *p;
-
if (s != NULL) {
- for (p = s; *p != NUL; p++) {
+ for (const char *p = s; *p != NUL; p++) {
if ((uint8_t)(*p) >= 128) {
return true;
}
@@ -1964,7 +1962,6 @@ int vim_vsnprintf_typval(char *str, size_t str_m, const char *fmt, va_list ap_st
assert(str_arg_l < sizeof(tmp));
if (remove_trailing_zeroes) {
- int i;
char *tp;
// using %g or %G: remove superfluous zeroes
@@ -1979,7 +1976,7 @@ int vim_vsnprintf_typval(char *str, size_t str_m, const char *fmt, va_list ap_st
STRMOVE(tp + 1, tp + 2);
str_arg_l--;
}
- i = (tp[1] == '-') ? 2 : 1;
+ int i = (tp[1] == '-') ? 2 : 1;
while (tp[i] == '0') {
// change "1.0e07" to "1.0e7"
STRMOVE(tp + i, tp + i + 1);
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c
index 67d762d546..d83d58229f 100644
--- a/src/nvim/syntax.c
+++ b/src/nvim/syntax.c
@@ -307,7 +307,6 @@ void syn_set_timeout(proftime_T *tm)
// window.
void syntax_start(win_T *wp, linenr_T lnum)
{
- synstate_T *p;
synstate_T *last_valid = NULL;
synstate_T *last_min_valid = NULL;
synstate_T *sp, *prev = NULL;
@@ -362,7 +361,7 @@ void syntax_start(win_T *wp, linenr_T lnum)
// Only do this if lnum is not before and not to far beyond a saved state.
if (INVALID_STATE(&current_state) && syn_block->b_sst_array != NULL) {
// Find last valid saved state before start_lnum.
- for (p = syn_block->b_sst_first; p != NULL; p = p->sst_next) {
+ for (synstate_T *p = syn_block->b_sst_first; p != NULL; p = p->sst_next) {
if (p->sst_lnum > lnum) {
break;
}
@@ -877,13 +876,11 @@ static void syn_update_ends(bool startofline)
static void syn_stack_free_block(synblock_T *block)
{
- synstate_T *p;
-
if (block->b_sst_array == NULL) {
return;
}
- for (p = block->b_sst_first; p != NULL; p = p->sst_next) {
+ for (synstate_T *p = block->b_sst_first; p != NULL; p = p->sst_next) {
clear_syn_state(p);
}
XFREE_CLEAR(block->b_sst_array);
@@ -1037,7 +1034,7 @@ static void syn_stack_apply_changes_block(synblock_T *block, buf_T *buf)
/// @return true if at least one entry was freed.
static bool syn_stack_cleanup(void)
{
- synstate_T *p, *prev;
+ synstate_T *prev;
disptick_T tick;
int dist;
bool retval = false;
@@ -1059,7 +1056,7 @@ static bool syn_stack_cleanup(void)
tick = syn_block->b_sst_lasttick;
bool above = false;
prev = syn_block->b_sst_first;
- for (p = prev->sst_next; p != NULL; prev = p, p = p->sst_next) {
+ for (synstate_T *p = prev->sst_next; p != NULL; prev = p, p = p->sst_next) {
if (prev->sst_lnum + dist > p->sst_lnum) {
if (p->sst_tick > syn_block->b_sst_lasttick) {
if (!above || p->sst_tick < tick) {
@@ -1075,7 +1072,7 @@ static bool syn_stack_cleanup(void)
// Go through the list to make the entries for the oldest tick at an
// interval of several lines.
prev = syn_block->b_sst_first;
- for (p = prev->sst_next; p != NULL; prev = p, p = p->sst_next) {
+ for (synstate_T *p = prev->sst_next; p != NULL; prev = p, p = p->sst_next) {
if (p->sst_tick == tick && prev->sst_lnum + dist > p->sst_lnum) {
// Move this entry from used list to free list
prev->sst_next = p->sst_next;
@@ -1101,10 +1098,8 @@ static void syn_stack_free_entry(synblock_T *block, synstate_T *p)
// Returns NULL when there is no entry or the first entry is after "lnum".
static synstate_T *syn_stack_find_entry(linenr_T lnum)
{
- synstate_T *p, *prev;
-
- prev = NULL;
- for (p = syn_block->b_sst_first; p != NULL; prev = p, p = p->sst_next) {
+ synstate_T *prev = NULL;
+ for (synstate_T *p = syn_block->b_sst_first; p != NULL; prev = p, p = p->sst_next) {
if (p->sst_lnum == lnum) {
return p;
}
diff --git a/src/nvim/textformat.c b/src/nvim/textformat.c
index ca57bf3259..58037fef36 100644
--- a/src/nvim/textformat.c
+++ b/src/nvim/textformat.c
@@ -101,7 +101,6 @@ void internal_format(int textwidth, int second_indent, int flags, bool format_on
int wantcol; // column at textwidth border
int foundcol; // column for start of spaces
int end_foundcol = 0; // column for start of word
- colnr_T len;
colnr_T virtcol;
int orig_col = 0;
char *saved_text = NULL;
@@ -437,7 +436,7 @@ void internal_format(int textwidth, int second_indent, int flags, bool format_on
// Check if cursor is not past the NUL off the line, cindent
// may have added or removed indent.
curwin->w_cursor.col += startcol;
- len = (colnr_T)strlen(get_cursor_line_ptr());
+ colnr_T len = (colnr_T)strlen(get_cursor_line_ptr());
if (curwin->w_cursor.col > len) {
curwin->w_cursor.col = len;
}
@@ -518,7 +517,6 @@ static bool same_leader(linenr_T lnum, int leader1_len, char *leader1_flags, int
char *leader2_flags)
{
int idx1 = 0, idx2 = 0;
- char *p;
char *line1;
char *line2;
@@ -532,7 +530,7 @@ static bool same_leader(linenr_T lnum, int leader1_len, char *leader1_flags, int
// If first leader has 's' flag, the lines can only be joined if there is
// some text after it and the second line has the 'm' flag.
if (leader1_flags != NULL) {
- for (p = leader1_flags; *p && *p != ':'; p++) {
+ for (char *p = leader1_flags; *p && *p != ':'; p++) {
if (*p == COM_FIRST) {
return leader2_len == 0;
}
@@ -629,9 +627,7 @@ static bool paragraph_start(linenr_T lnum)
/// @param prev_line may start in previous line
void auto_format(bool trailblank, bool prev_line)
{
- colnr_T len;
- char *linep, *plinep;
- int cc;
+ char *linep;
if (!has_format_option(FO_AUTO)) {
return;
@@ -651,7 +647,7 @@ void auto_format(bool trailblank, bool prev_line)
int wasatend = (pos.col == (colnr_T)strlen(old));
if (*old != NUL && !trailblank && wasatend) {
dec_cursor();
- cc = gchar_cursor();
+ int cc = gchar_cursor();
if (!WHITECHAR(cc) && curwin->w_cursor.col > 0
&& has_format_option(FO_ONE_LETTER)) {
dec_cursor();
@@ -702,9 +698,9 @@ void auto_format(bool trailblank, bool prev_line)
// formatted.
if (!wasatend && has_format_option(FO_WHITE_PAR)) {
linep = get_cursor_line_ptr();
- len = (colnr_T)strlen(linep);
+ colnr_T len = (colnr_T)strlen(linep);
if (curwin->w_cursor.col == len) {
- plinep = xstrnsave(linep, (size_t)len + 2);
+ char *plinep = xstrnsave(linep, (size_t)len + 2);
plinep[len] = ' ';
plinep[len + 1] = NUL;
ml_replace(curwin->w_cursor.lnum, plinep, false);
diff --git a/src/nvim/ugrid.c b/src/nvim/ugrid.c
index 3a422ff2f2..f02b9626cd 100644
--- a/src/nvim/ugrid.c
+++ b/src/nvim/ugrid.c
@@ -61,10 +61,8 @@ void ugrid_scroll(UGrid *grid, int top, int bot, int left, int right, int count)
step = -1;
}
- int i;
-
// Copy cell data
- for (i = start; i != stop; i += step) {
+ for (int i = start; i != stop; i += step) {
UCell *target_row = grid->cells[i] + left;
UCell *source_row = grid->cells[i + count] + left;
assert(right >= left && left >= 0);
diff --git a/src/nvim/version.c b/src/nvim/version.c
index d36d6a7346..abcb9d94d2 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -2837,7 +2837,6 @@ void intro_message(int colon)
static void do_intro_line(int row, char *mesg, int attr)
{
- char *p;
int l;
// Center the message horizontally.
@@ -2851,7 +2850,7 @@ static void do_intro_line(int row, char *mesg, int attr)
grid_line_start(&default_grid, row);
// Split up in parts to highlight <> items differently.
- for (p = mesg; *p != NUL; p += l) {
+ for (char *p = mesg; *p != NUL; p += l) {
for (l = 0;
p[l] != NUL && (l == 0 || (p[l] != '<' && p[l - 1] != '>'));
l++) {