aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2018-04-22 19:50:13 +0300
committerZyX <kp-pav@yandex.ru>2018-04-22 19:50:13 +0300
commit9f3e67a8148f80532ecb70a97f6f96e7404d3ca6 (patch)
tree6e21bc4f1af9226773a1b2a273e70684c2920268
parent2cdf9d1388ee82dd2d326e45122f47e9d6fbc673 (diff)
downloadrneovim-9f3e67a8148f80532ecb70a97f6f96e7404d3ca6.tar.gz
rneovim-9f3e67a8148f80532ecb70a97f6f96e7404d3ca6.tar.bz2
rneovim-9f3e67a8148f80532ecb70a97f6f96e7404d3ca6.zip
search: Fix PVS/V547: allocator never returns NULL now
-rw-r--r--src/nvim/search.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c
index b252612e5d..84782497a0 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -1493,38 +1493,34 @@ static int check_prevcol(char_u *linep, int col, int ch, int *prevcol)
* Raw string start is found at linep[startpos.col - 1].
* Return true if the matching end can be found between startpos and endpos.
*/
-static int find_rawstring_end(char_u *linep, pos_T *startpos, pos_T *endpos)
+static bool find_rawstring_end(char_u *linep, pos_T *startpos, pos_T *endpos)
{
char_u *p;
char_u *delim_copy;
size_t delim_len;
linenr_T lnum;
- int found = false;
- for (p = linep + startpos->col + 1; *p && *p != '('; ++p) {}
+ for (p = linep + startpos->col + 1; *p && *p != '('; p++) {}
delim_len = (p - linep) - startpos->col - 1;
delim_copy = vim_strnsave(linep + startpos->col + 1, delim_len);
- if (delim_copy == NULL)
- return false;
- for (lnum = startpos->lnum; lnum <= endpos->lnum; ++lnum)
- {
+ bool found = false;
+ for (lnum = startpos->lnum; lnum <= endpos->lnum; lnum++) {
char_u *line = ml_get(lnum);
- for (p = line + (lnum == startpos->lnum
- ? startpos->col + 1 : 0); *p; ++p)
- {
- if (lnum == endpos->lnum && (colnr_T)(p - line) >= endpos->col)
+ for (p = line + (lnum == startpos->lnum ? startpos->col + 1 : 0); *p; p++) {
+ if (lnum == endpos->lnum && (colnr_T)(p - line) >= endpos->col) {
break;
+ }
if (*p == ')' && p[delim_len + 1] == '"'
- && STRNCMP(delim_copy, p + 1, delim_len) == 0)
- {
+ && STRNCMP(delim_copy, p + 1, delim_len) == 0) {
found = true;
break;
}
}
- if (found)
+ if (found) {
break;
+ }
}
xfree(delim_copy);
return found;