diff --git a/src/term.c b/src/term.c
index c90efe5..18500a3 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2081,7 +2081,7 @@
 #endif
     {
 	// Use the 'keyprotocol' option to adjust the t_TE and t_TI
-	// termcap entries if there is an entry maching "term".
+	// termcap entries if there is an entry matching "term".
 	keyprot_T kpc = match_keyprotocol(term);
 	if (kpc == KEYPROTOCOL_KITTY)
 	    apply_builtin_tcap(term, builtin_kitty, TRUE);
@@ -2092,7 +2092,7 @@
 	// There is no good way to detect that the terminal supports RGB
 	// colors.  Since these termcap entries are non-standard anyway and
 	// only used when the user sets 'termguicolors' we might as well add
-	// them.  But not when one of them was alredy set.
+	// them.  But not when one of them was already set.
 	if (term_strings_not_set(KS_8F)
 		&& term_strings_not_set(KS_8B)
 		&& term_strings_not_set(KS_8U))
@@ -2341,7 +2341,7 @@
  * Avoids that valgrind reports possibly lost memory.
  */
     void
-free_cur_term()
+free_cur_term(void)
 {
 # ifdef HAVE_DEL_CURTERM
     if (cur_term)
@@ -2997,7 +2997,7 @@
  * Return TRUE if we can request the terminal for a response.
  */
     static int
-can_get_termresponse()
+can_get_termresponse(void)
 {
     return cur_tmode == TMODE_RAW
 	    && termcap_active
@@ -3021,7 +3021,7 @@
  * Return TRUE if any of the requests are in STATUS_SENT.
  */
     static int
-termrequest_any_pending()
+termrequest_any_pending(void)
 {
     int	    i;
     time_t  now = time(NULL);
@@ -4367,7 +4367,7 @@
 # endif
 
     int
-blink_state_is_inverted()
+blink_state_is_inverted(void)
 {
 #ifdef FEAT_TERMRESPONSE
     return rbm_status.tr_progress == STATUS_GOT
