aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/change.c16
-rw-r--r--src/nvim/misc1.c18
2 files changed, 8 insertions, 26 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index 0aece4f8ae..3a216fec02 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -502,16 +502,16 @@ void ins_bytes_len(char_u *p, size_t len)
/// convert bytes to a character.
void ins_char(int c)
{
- char_u buf[MB_MAXBYTES + 1];
- int n = (*mb_char2bytes)(c, buf);
+ char_u buf[MB_MAXBYTES + 1];
+ size_t n = (size_t)utf_char2bytes(c, buf);
- // When "c" is 0x100, 0x200, etc. we don't want to insert a NUL byte.
- // Happens for CTRL-Vu9900.
- if (buf[0] == 0) {
- buf[0] = '\n';
- }
+ // When "c" is 0x100, 0x200, etc. we don't want to insert a NUL byte.
+ // Happens for CTRL-Vu9900.
+ if (buf[0] == 0) {
+ buf[0] = '\n';
+ }
- ins_char_bytes(buf, n);
+ ins_char_bytes(buf, n);
}
void ins_char_bytes(char_u *buf, size_t charlen)
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 19b8165843..44e2c7df5f 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -507,24 +507,6 @@ int plines_m_win(win_T *wp, linenr_T first, linenr_T last)
return count;
}
-/// 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.
-/// For multi-byte characters we get the whole character, the caller must
-/// convert bytes to a character.
-void ins_char(int c)
-{
- char_u buf[MB_MAXBYTES + 1];
- size_t n = (size_t)utf_char2bytes(c, buf);
-
- // When "c" is 0x100, 0x200, etc. we don't want to insert a NUL byte.
- // Happens for CTRL-Vu9900.
- if (buf[0] == 0) {
- buf[0] = '\n';
- }
- ins_char_bytes(buf, n);
-}
-
int gchar_pos(pos_T *pos)
FUNC_ATTR_NONNULL_ARG(1)
{