mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
syntax: Fix V763: parameter always rewritten before being used
This is the result of malloc error handling elimination: push_current_state() used to (not) return OK depending on whether growing garray failed or not and this return was checked, if errorred out push_next_match() will simply return its argument unchanged. Now when allocations are supposed to either always succeed or crash Neovim this check was returned, push_current_state() was stripped of its return value and moved out of if() condition, resulting in V763.
This commit is contained in:
parent
aaab5e3900
commit
af1f17f1dc
@ -1666,8 +1666,9 @@ syn_current_attr (
|
||||
* If we found a match after the last column, use it.
|
||||
*/
|
||||
if (next_match_idx >= 0 && next_match_col >= (int)current_col
|
||||
&& next_match_col != MAXCOL)
|
||||
(void)push_next_match(NULL);
|
||||
&& next_match_col != MAXCOL) {
|
||||
(void)push_next_match();
|
||||
}
|
||||
|
||||
current_finished = TRUE;
|
||||
current_state_stored = FALSE;
|
||||
@ -1985,9 +1986,10 @@ syn_current_attr (
|
||||
* endless loop). */
|
||||
GA_APPEND(int, &zero_width_next_ga, next_match_idx);
|
||||
next_match_idx = -1;
|
||||
} else
|
||||
cur_si = push_next_match(cur_si);
|
||||
found_match = TRUE;
|
||||
} else {
|
||||
cur_si = push_next_match();
|
||||
}
|
||||
found_match = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2167,9 +2169,10 @@ static int did_match_already(int idx, garray_T *gap)
|
||||
/*
|
||||
* Push the next match onto the stack.
|
||||
*/
|
||||
static stateitem_T *push_next_match(stateitem_T *cur_si)
|
||||
static stateitem_T *push_next_match(void)
|
||||
{
|
||||
synpat_T *spp;
|
||||
stateitem_T *cur_si;
|
||||
synpat_T *spp;
|
||||
int save_flags;
|
||||
|
||||
spp = &(SYN_ITEMS(syn_block)[next_match_idx]);
|
||||
|
Loading…
Reference in New Issue
Block a user