Fix do_find_bracket

This commit is contained in:
rexy712 2022-07-11 15:23:49 -07:00
parent 01b30a5a0e
commit 226108a59f

View File

@ -1088,18 +1088,16 @@ int find_matching_bracket_pos(linestruct **line, size_t *xpos)
if (br_ch == NULL)
return NOT_A_BRACKET;
if (br_ch != NULL) {
br_ch_len = char_length(br_ch);
create_bracket_pair(bracket_pair, br_ch, br_ch_len, &reversed);
br_ch_len = char_length(br_ch);
create_bracket_pair(bracket_pair, br_ch, br_ch_len, &reversed);
while (find_a_bracket(reversed, bracket_pair, line, xpos)) {
balance += (strncmp((*line)->data + *xpos,
br_ch, br_ch_len) == 0) ? 1 : -1;
if (balance == 0)
return FOUND_BRACKET;
while (find_a_bracket(reversed, bracket_pair, line, xpos)) {
balance += (strncmp((*line)->data + *xpos,
br_ch, br_ch_len) == 0) ? 1 : -1;
if (balance == 0)
return FOUND_BRACKET;
}
}
return NOT_FOUND_BRACKET;
}
@ -1109,6 +1107,7 @@ int find_matching_bracket_pos(linestruct **line, size_t *xpos)
void do_find_bracket(void)
{
linestruct *was_current = openfile->current;
size_t was_current_x = openfile->current_x;
int res = find_matching_bracket_pos(&openfile->current,
&openfile->current_x);
@ -1118,6 +1117,9 @@ void do_find_bracket(void)
return;
}
openfile->current = was_current;
openfile->current_x = was_current_x;
statusline(AHEM, res == NOT_FOUND_BRACKET ?
_("No matching bracket") :
_("Not a bracket"));