aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/charset.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2018-04-08 19:21:44 +0300
committerZyX <kp-pav@yandex.ru>2018-04-09 10:29:28 +0300
commit58a5699a4400d1d706056e456ca641b3e4b0a5e9 (patch)
treef80f18b1ffc6d27ba40f3f7fd5694e8469b0187e /src/nvim/charset.c
parent2a6491cdf86709abd2a7c7920e190c1a802b4f26 (diff)
downloadrneovim-58a5699a4400d1d706056e456ca641b3e4b0a5e9.tar.gz
rneovim-58a5699a4400d1d706056e456ca641b3e4b0a5e9.tar.bz2
rneovim-58a5699a4400d1d706056e456ca641b3e4b0a5e9.zip
buffer: PVS/V557: Refactor maketitle()
Diffstat (limited to 'src/nvim/charset.c')
-rw-r--r--src/nvim/charset.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/nvim/charset.c b/src/nvim/charset.c
index 2604c09ca4..d8d080ee8a 100644
--- a/src/nvim/charset.c
+++ b/src/nvim/charset.c
@@ -359,9 +359,9 @@ size_t transstr_len(const char *const s)
/// @param[in] len Buffer length. Resulting string may not occupy more then
/// len - 1 bytes (one for trailing NUL byte).
///
-/// @return `buf` argument unchanged.
-char *transstr_buf(const char *const s, char *const buf, const size_t len)
- FUNC_ATTR_NONNULL_RET FUNC_ATTR_NONNULL_ALL
+/// @return length of the resulting string, without the NUL byte.
+size_t transstr_buf(const char *const s, char *const buf, const size_t len)
+ FUNC_ATTR_NONNULL_ALL
{
const char *p = s;
char *buf_p = buf;
@@ -400,7 +400,7 @@ char *transstr_buf(const char *const s, char *const buf, const size_t len)
}
*buf_p = NUL;
assert(buf_p <= buf_e);
- return buf;
+ return (size_t)(buf_p - buf);
}
/// Copy string and replace special characters with printable characters
@@ -416,7 +416,9 @@ char *transstr(const char *const s)
// Compute the length of the result, taking account of unprintable
// multi-byte characters.
const size_t len = transstr_len((const char *)s) + 1;
- return transstr_buf(s, xmalloc(len), len);
+ char *const buf = xmalloc(len);
+ transstr_buf(s, buf, len);
+ return buf;
}
/// Convert the string "str[orglen]" to do ignore-case comparing.