patch 8.2.4427: getchar() may return modifiers if no character is available

Problem:    getchar() may return modifiers if no character is available.
Solution:   Do not process modifiers when there is no character. (closes #9806)
diff --git a/src/getchar.c b/src/getchar.c
index 2068ca4..fcc9b9a 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2103,7 +2103,7 @@
     set_vim_var_nr(VV_MOUSE_COL, 0);
 
     rettv->vval.v_number = n;
-    if (IS_SPECIAL(n) || mod_mask != 0)
+    if (n != 0 && (IS_SPECIAL(n) || mod_mask != 0))
     {
 	char_u		temp[10];   // modifier: 3, mbyte-char: 6, NUL: 1
 	int		i = 0;