aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2019-06-09 19:06:48 +0200
committerDaniel Hahler <git@thequod.de>2019-08-07 14:21:23 +0200
commit664b6adebe8b3d12505683a1b7e96d6a2225b86c (patch)
tree863d354236e3583630b83c4aaed5dd41cdbf8bd3
parent1117592f6472c72a71f911009c27e361fcf1eef5 (diff)
downloadrneovim-664b6adebe8b3d12505683a1b7e96d6a2225b86c.tar.gz
rneovim-664b6adebe8b3d12505683a1b7e96d6a2225b86c.tar.bz2
rneovim-664b6adebe8b3d12505683a1b7e96d6a2225b86c.zip
move ins_bytes, ins_bytes_len
-rw-r--r--src/nvim/change.c46
-rw-r--r--src/nvim/misc1.c31
2 files changed, 21 insertions, 56 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index 85051a25c9..18d7af5099 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -477,35 +477,31 @@ unchanged(buf_T *buf, int ff)
* Insert string "p" at the cursor position. Stops at a NUL byte.
* Handles Replace mode and multi-byte characters.
*/
- void
-ins_bytes(char_u *p)
+void ins_bytes(char_u *p)
{
- ins_bytes_len(p, (int)STRLEN(p));
+ ins_bytes_len(p, STRLEN(p));
}
-/*
- * Insert string "p" with length "len" at the cursor position.
- * Handles Replace mode and multi-byte characters.
- */
- void
-ins_bytes_len(char_u *p, int len)
+/// Insert string "p" with length "len" at the cursor position.
+/// Handles Replace mode and multi-byte characters.
+void ins_bytes_len(char_u *p, size_t len)
{
- int i;
- int n;
-
- if (has_mbyte)
- for (i = 0; i < len; i += n)
- {
- if (enc_utf8)
- // avoid reading past p[len]
- n = utfc_ptr2len_len(p + i, len - i);
- else
- n = (*mb_ptr2len)(p + i);
- ins_char_bytes(p + i, n);
- }
- else
- for (i = 0; i < len; ++i)
- ins_char(p[i]);
+ if (has_mbyte) {
+ size_t n;
+ for (size_t i = 0; i < len; i += n) {
+ if (enc_utf8) {
+ // avoid reading past p[len]
+ n = (size_t)utfc_ptr2len_len(p + i, (int)(len - i));
+ } else {
+ n = (size_t)(*mb_ptr2len)(p + i);
+ }
+ ins_char_bytes(p + i, n);
+ }
+ } else {
+ for (size_t i = 0; i < len; i++) {
+ ins_char(p[i]);
+ }
+ }
}
/*
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 2ddfbc75ab..76c861e97c 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -1380,37 +1380,6 @@ int plines_m_win(win_T *wp, linenr_T first, linenr_T last)
return count;
}
-/*
- * Insert string "p" at the cursor position. Stops at a NUL byte.
- * Handles Replace mode and multi-byte characters.
- */
-void ins_bytes(char_u *p)
-{
- ins_bytes_len(p, STRLEN(p));
-}
-
-/// Insert string "p" with length "len" at the cursor position.
-/// Handles Replace mode and multi-byte characters.
-void ins_bytes_len(char_u *p, size_t len)
-{
- if (has_mbyte) {
- size_t n;
- for (size_t i = 0; i < len; i += n) {
- if (enc_utf8) {
- // avoid reading past p[len]
- n = (size_t)utfc_ptr2len_len(p + i, (int)(len - i));
- } else {
- n = (size_t)(*mb_ptr2len)(p + i);
- }
- ins_char_bytes(p + i, n);
- }
- } else {
- for (size_t i = 0; i < len; i++) {
- ins_char(p[i]);
- }
- }
-}
-
/// Insert or replace a single character at the cursor position.
/// When in REPLACE or VREPLACE mode, replace any existing character.
/// Caller must have prepared for undo.