patch 8.2.3561: cscope has a complicated way of giving an error message

Problem:    Cscope has a complicated way of giving an error message.
Solution:   Use semsg(). (James McCoy, closes #9038)
diff --git a/src/if_cscope.c b/src/if_cscope.c
index 7117a25..d587587 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -462,17 +462,8 @@
     static void
 cs_stat_emsg(char *fname)
 {
-    char *stat_emsg = _("E563: stat(%s) error: %d");
-    char *buf = alloc(strlen(stat_emsg) + MAXPATHL + 10);
-
-    if (buf != NULL)
-    {
-	(void)sprintf(buf, stat_emsg, fname, errno);
-	(void)emsg(buf);
-	vim_free(buf);
-    }
-    else
-	(void)emsg(_("E563: stat error"));
+    int err = errno;
+    (void)semsg(_("E563: stat(%s) error: %d"), fname, err);
 }
 
 
@@ -1114,16 +1105,7 @@
 	// next symbol must be + or -
 	if (strchr(CSQF_FLAGS, *qfpos) == NULL)
 	{
-	    char *nf = _("E469: invalid cscopequickfix flag %c for %c");
-	    char *buf = alloc(strlen(nf));
-
-	    // strlen will be enough because we use chars
-	    if (buf != NULL)
-	    {
-		sprintf(buf, nf, *qfpos, *(qfpos-1));
-		(void)emsg(buf);
-		vim_free(buf);
-	    }
+	    (void)semsg(_("E469: invalid cscopequickfix flag %c for %c"), *qfpos, *(qfpos - 1));
 	    return FALSE;
 	}
 
@@ -1177,24 +1159,8 @@
 
     if (totmatches == 0)
     {
-	char *nf = _("E259: no matches found for cscope query %s of %s");
-	char *buf;
-
-	if (!verbose)
-	{
-	    vim_free(nummatches);
-	    return FALSE;
-	}
-
-	buf = alloc(strlen(opt) + strlen(pat) + strlen(nf));
-	if (buf == NULL)
-	    (void)emsg(nf);
-	else
-	{
-	    sprintf(buf, nf, opt, pat);
-	    (void)emsg(buf);
-	    vim_free(buf);
-	}
+	if (verbose)
+	    (void)semsg(_("E259: no matches found for cscope query %s of %s"), opt, pat);
 	vim_free(nummatches);
 	return FALSE;
     }