diff options
author | ZyX <kp-pav@yandex.ru> | 2018-04-22 19:50:13 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2018-04-22 19:50:13 +0300 |
commit | 9f3e67a8148f80532ecb70a97f6f96e7404d3ca6 (patch) | |
tree | 6e21bc4f1af9226773a1b2a273e70684c2920268 | |
parent | 2cdf9d1388ee82dd2d326e45122f47e9d6fbc673 (diff) | |
download | rneovim-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.c | 24 |
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; |