diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-05-20 17:00:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-20 17:00:51 +0200 |
commit | ffb55261a835e998abd49ff7efc4164f43b6bbe5 (patch) | |
tree | 22e4cc1b3c7636769980b70132acc6984bbee0eb /src | |
parent | 76691bea04fcfb4e898e5822ae57c5b86ec06dbe (diff) | |
parent | 1a0de90068eb87e6d330b5c207f178d45f7f8b36 (diff) | |
download | rneovim-ffb55261a835e998abd49ff7efc4164f43b6bbe5.tar.gz rneovim-ffb55261a835e998abd49ff7efc4164f43b6bbe5.tar.bz2 rneovim-ffb55261a835e998abd49ff7efc4164f43b6bbe5.zip |
Merge pull request #18653 from dundargoc/refactor/move-reverse-text
refactor: move reverse_text to strings.c as it's a string operation
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/search.c | 25 | ||||
-rw-r--r-- | src/nvim/strings.c | 21 |
2 files changed, 21 insertions, 25 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c index 11d40c058c..c79ce08cd7 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -204,31 +204,6 @@ char_u *get_search_pat(void) return mr_pattern; } -/* - * Reverse text into allocated memory. - * Returns the allocated string. - * - * TODO(philix): move reverse_text() to strings.c - */ -char_u *reverse_text(char_u *s) FUNC_ATTR_NONNULL_RET -{ - /* - * Reverse the pattern. - */ - size_t len = STRLEN(s); - char_u *rev = xmalloc(len + 1); - size_t rev_i = len; - for (size_t s_i = 0; s_i < len; s_i++) { - const int mb_len = utfc_ptr2len((char *)s + s_i); - rev_i -= mb_len; - memmove(rev + rev_i, s + s_i, mb_len); - s_i += mb_len - 1; - } - rev[len] = NUL; - - return rev; -} - void save_re_pat(int idx, char_u *pat, int magic) { if (spats[idx].pat != pat) { diff --git a/src/nvim/strings.c b/src/nvim/strings.c index cde2059a9d..ab5beb17bc 100644 --- a/src/nvim/strings.c +++ b/src/nvim/strings.c @@ -1507,3 +1507,24 @@ int kv_do_printf(StringBuilder *str, const char *fmt, ...) str->size += (size_t)printed; return printed; } + +/// Reverse text into allocated memory. +/// +/// @return the allocated string. +char_u *reverse_text(char_u *s) + FUNC_ATTR_NONNULL_RET +{ + // Reverse the pattern. + size_t len = STRLEN(s); + char_u *rev = xmalloc(len + 1); + size_t rev_i = len; + for (size_t s_i = 0; s_i < len; s_i++) { + const int mb_len = utfc_ptr2len((char *)s + s_i); + rev_i -= (size_t)mb_len; + memmove(rev + rev_i, s + s_i, (size_t)mb_len); + s_i += (size_t)mb_len - 1; + } + rev[len] = NUL; + + return rev; +} |