diff src/if_cscope.c @ 26055:109e9272cd5c v8.2.3561

patch 8.2.3561: cscope has a complicated way of giving an error message Commit: https://github.com/vim/vim/commit/3c5904d2a5d7861c227a4c3cd4ddcbc51014c838 Author: James McCoy <jamessan@jamessan.com> Date: Sun Oct 24 14:50:07 2021 +0100 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 https://github.com/vim/vim/issues/9038)
author Bram Moolenaar <Bram@vim.org>
date Sun, 24 Oct 2021 16:00:07 +0200
parents 336e2d9924e6
children 06a137af96f8
line wrap: on
line diff
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -462,17 +462,8 @@ cs_add(exarg_T *eap UNUSED)
     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 @@ cs_find_common(
 	// 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 @@ cs_find_common(
 
     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;
     }