patch 8.2.5076: unnecessary code

Problem:    Unnecessary code.
Solution:   Remove code and replace with function call. (closes #10552)
diff --git a/src/getchar.c b/src/getchar.c
index 2747423..210a67a 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1115,33 +1115,12 @@
  * Returns the length of what was inserted.
  */
     int
-ins_char_typebuf(int c, int modifier)
+ins_char_typebuf(int c, int modifiers)
 {
     char_u	buf[MB_MAXBYTES * 3 + 4];
-    int		len = 0;
+    int		len = special_to_buf(c, modifiers, TRUE, buf);
 
-    if (modifier != 0)
-    {
-	buf[0] = K_SPECIAL;
-	buf[1] = KS_MODIFIER;
-	buf[2] = modifier;
-	buf[3] = NUL;
-	len = 3;
-    }
-    if (IS_SPECIAL(c))
-    {
-	buf[len] = K_SPECIAL;
-	buf[len + 1] = K_SECOND(c);
-	buf[len + 2] = K_THIRD(c);
-	buf[len + 3] = NUL;
-	len += 3;
-    }
-    else
-    {
-	char_u *end = add_char2buf(c, buf + len);
-	*end = NUL;
-	len = end - buf;
-    }
+    buf[len] = NUL;
     (void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
     return len;
 }