]> granicus.if.org Git - vim/commitdiff
patch 8.2.0436: no warnings for incorrect printf arguments v8.2.0436
authorBram Moolenaar <Bram@vim.org>
Mon, 23 Mar 2020 21:12:22 +0000 (22:12 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 23 Mar 2020 21:12:22 +0000 (22:12 +0100)
Problem:    No warnings for incorrect printf arguments.
Solution:   Fix attribute in declaration.  Fix uncovered mistakes. (Dominique
            Pelle, closes #5834)

src/eval.c
src/gui.c
src/ops.c
src/proto.h
src/spellfile.c
src/version.c
src/vim9compile.c
src/vim9execute.c
src/viminfo.c

index 415ed5a9d34eeac65acfed45b66e552ac149107b..975afe577cb842f35cf31902ff57cdef67f00e34 100644 (file)
@@ -2848,7 +2848,7 @@ eval_lambda(
        if (verbose)
        {
            if (*skipwhite(*arg) == '(')
-               semsg(_(e_nowhitespace));
+               emsg(_(e_nowhitespace));
            else
                semsg(_(e_missing_paren), "lambda");
        }
@@ -2910,7 +2910,7 @@ eval_method(
        else if (VIM_ISWHITE((*arg)[-1]))
        {
            if (verbose)
-               semsg(_(e_nowhitespace));
+               emsg(_(e_nowhitespace));
            ret = FAIL;
        }
        else
index 4733bad6e412b6d5b6d71c5ea3529a9c31f1a1d2..0e008c12d8c1bdfc9320adb03431162909ac06c1 100644 (file)
--- a/src/gui.c
+++ b/src/gui.c
@@ -542,7 +542,7 @@ gui_init(void)
            if (STRCMP(use_gvimrc, "NONE") != 0
                    && STRCMP(use_gvimrc, "NORC") != 0
                    && do_source(use_gvimrc, FALSE, DOSO_NONE, NULL) != OK)
-               semsg(_("E230: Cannot read from \"%s\""), use_gvimrc, NULL);
+               semsg(_("E230: Cannot read from \"%s\""), use_gvimrc);
        }
        else
        {
index 08209c7c6f988e08e5afd2a71b6c4a3cc84503bd..eaeb0f7959b398fe08a7c544b8e7a5be6c2f1480 100644 (file)
--- a/src/ops.c
+++ b/src/ops.c
@@ -2999,7 +2999,7 @@ op_addsub(
            curbuf->b_op_start = startpos;
 
        if (change_cnt > p_report)
-           smsg(NGETTEXT("%ld line changed", "%ld lines changed",
+           smsg(NGETTEXT("%d line changed", "%d lines changed",
                                                      change_cnt), change_cnt);
     }
 }
index a8faa83ca552e4450015de65117eae126445e5ab..74f38cd0365685392b54f4cc8f2cd030f184b909 100644 (file)
@@ -119,7 +119,7 @@ extern int _stricoll(char *a, char *b);
 // These prototypes cannot be produced automatically.
 int smsg(const char *, ...)
 # ifdef USE_PRINTF_FORMAT_ATTRIBUTE
-    __attribute__((format(printf, 1, 0)))
+    __attribute__((format(printf, 1, 2)))
 # endif
     ;
 
@@ -138,14 +138,14 @@ int smsg_attr_keep(int, const char *, ...)
 // These prototypes cannot be produced automatically.
 int semsg(const char *, ...)
 # ifdef USE_PRINTF_FORMAT_ATTRIBUTE
-    __attribute__((format(printf, 1, 0)))
+    __attribute__((format(printf, 1, 2)))
 # endif
     ;
 
 // These prototypes cannot be produced automatically.
 void siemsg(const char *, ...)
 # ifdef USE_PRINTF_FORMAT_ATTRIBUTE
-    __attribute__((format(printf, 1, 0)))
+    __attribute__((format(printf, 1, 2)))
 # endif
     ;
 
index c3e53b330bf07b915fa5d62431408ae6567df97c..9500813e08644e72a047f8f72a54e4f7894fb2f6 100644 (file)
@@ -4115,7 +4115,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
            pc = string_convert(&spin->si_conv, rline, NULL);
            if (pc == NULL)
            {
-               smsg(_("Conversion failure for word in %s line %d: %s"),
+               smsg(_("Conversion failure for word in %s line %ld: %s"),
                                                           fname, lnum, rline);
                continue;
            }
@@ -4133,10 +4133,10 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
            if (STRNCMP(line, "encoding=", 9) == 0)
            {
                if (spin->si_conv.vc_type != CONV_NONE)
-                   smsg(_("Duplicate /encoding= line ignored in %s line %d: %s"),
+                   smsg(_("Duplicate /encoding= line ignored in %s line %ld: %s"),
                                                       fname, lnum, line - 1);
                else if (did_word)
-                   smsg(_("/encoding= line after word ignored in %s line %d: %s"),
+                   smsg(_("/encoding= line after word ignored in %s line %ld: %s"),
                                                       fname, lnum, line - 1);
                else
                {
@@ -4159,13 +4159,13 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
            if (STRNCMP(line, "regions=", 8) == 0)
            {
                if (spin->si_region_count > 1)
-                   smsg(_("Duplicate /regions= line ignored in %s line %d: %s"),
+                   smsg(_("Duplicate /regions= line ignored in %s line %ld: %s"),
                                                       fname, lnum, line);
                else
                {
                    line += 8;
                    if (STRLEN(line) > MAXREGIONS * 2)
-                       smsg(_("Too many regions in %s line %d: %s"),
+                       smsg(_("Too many regions in %s line %ld: %s"),
                                                       fname, lnum, line);
                    else
                    {
@@ -4179,7 +4179,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
                continue;
            }
 
-           smsg(_("/ line ignored in %s line %d: %s"),
+           smsg(_("/ line ignored in %s line %ld: %s"),
                                                       fname, lnum, line - 1);
            continue;
        }
@@ -4209,7 +4209,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
                    l = *p - '0';
                    if (l == 0 || l > spin->si_region_count)
                    {
-                       smsg(_("Invalid region nr in %s line %d: %s"),
+                       smsg(_("Invalid region nr in %s line %ld: %s"),
                                                          fname, lnum, p);
                        break;
                    }
@@ -4217,7 +4217,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
                }
                else
                {
-                   smsg(_("Unrecognized flags in %s line %d: %s"),
+                   smsg(_("Unrecognized flags in %s line %ld: %s"),
                                                              fname, lnum, p);
                    break;
                }
index 738f31b3c5839e70d3ef7d51c24523170d0d7ee4..17e309570e6caf905d0c6ff17c9e98551d71768b 100644 (file)
@@ -738,6 +738,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    436,
 /**/
     435,
 /**/
index f768fc75e938989ac705a84bef51598189161e5f..a595580dbe4a6d89ce3a2ad92d4419d40eed1530 100644 (file)
@@ -1830,7 +1830,7 @@ compile_load(char_u **arg, char_u *end_arg, cctx_T *cctx, int error)
        }
        else
        {
-           semsg("Namespace not supported yet: %s", **arg);
+           semsg("Namespace not supported yet: %s", *arg);
            goto theend;
        }
     }
@@ -2213,7 +2213,7 @@ compile_lambda_call(char_u **arg, cctx_T *cctx)
     if (**arg != '(')
     {
        if (*skipwhite(*arg) == '(')
-           semsg(_(e_nowhitespace));
+           emsg(_(e_nowhitespace));
        else
            semsg(_(e_missing_paren), "lambda");
        clear_tv(&rettv);
index 9f829d69fbfa0cad3a8f31984c4aea18a8e59041..a5b707492d371cd2ee7a0ee129c00ac0426eae6d 100644 (file)
@@ -1774,14 +1774,14 @@ ex_disassemble(exarg_T *eap)
                }
                break;
            case ISN_EXECUTE:
-               smsg("%4d EXECUTE %d", current, iptr->isn_arg.number);
+               smsg("%4d EXECUTE %lld", current, (long long)(iptr->isn_arg.number));
                break;
            case ISN_LOAD:
                if (iptr->isn_arg.number < 0)
                    smsg("%4d LOAD arg[%lld]", current,
-                                     iptr->isn_arg.number + STACK_FRAME_SIZE);
+                                     (long long)(iptr->isn_arg.number + STACK_FRAME_SIZE));
                else
-                   smsg("%4d LOAD $%lld", current, iptr->isn_arg.number);
+                   smsg("%4d LOAD $%lld", current, (long long)(iptr->isn_arg.number));
                break;
            case ISN_LOADV:
                smsg("%4d LOADV v:%s", current,
@@ -1817,15 +1817,15 @@ ex_disassemble(exarg_T *eap)
                smsg("%4d LOADENV %s", current, iptr->isn_arg.string);
                break;
            case ISN_LOADREG:
-               smsg("%4d LOADREG @%c", current, iptr->isn_arg.number);
+               smsg("%4d LOADREG @%c", current, (char)(iptr->isn_arg.number));
                break;
 
            case ISN_STORE:
                if (iptr->isn_arg.number < 0)
                    smsg("%4d STORE arg[%lld]", current,
-                                     iptr->isn_arg.number + STACK_FRAME_SIZE);
+                               (long long)(iptr->isn_arg.number + STACK_FRAME_SIZE));
                else
-                   smsg("%4d STORE $%lld", current, iptr->isn_arg.number);
+                   smsg("%4d STORE $%lld", current, (long long)(iptr->isn_arg.number));
                break;
            case ISN_STOREV:
                smsg("%4d STOREV v:%s", current,
@@ -1862,7 +1862,7 @@ ex_disassemble(exarg_T *eap)
                smsg("%4d STOREENV $%s", current, iptr->isn_arg.string);
                break;
            case ISN_STOREREG:
-               smsg("%4d STOREREG @%c", current, iptr->isn_arg.number);
+               smsg("%4d STOREREG @%c", current, (char)iptr->isn_arg.number);
                break;
            case ISN_STORENR:
                smsg("%4d STORE %lld in $%d", current,
@@ -1872,7 +1872,7 @@ ex_disassemble(exarg_T *eap)
 
            // constants
            case ISN_PUSHNR:
-               smsg("%4d PUSHNR %lld", current, iptr->isn_arg.number);
+               smsg("%4d PUSHNR %lld", current, (long long)(iptr->isn_arg.number));
                break;
            case ISN_PUSHBOOL:
            case ISN_PUSHSPEC:
@@ -1941,10 +1941,10 @@ ex_disassemble(exarg_T *eap)
                smsg("%4d PUSH v:exception", current);
                break;
            case ISN_NEWLIST:
-               smsg("%4d NEWLIST size %lld", current, iptr->isn_arg.number);
+               smsg("%4d NEWLIST size %lld", current, (long long)(iptr->isn_arg.number));
                break;
            case ISN_NEWDICT:
-               smsg("%4d NEWDICT size %lld", current, iptr->isn_arg.number);
+               smsg("%4d NEWDICT size %lld", current, (long long)(iptr->isn_arg.number));
                break;
 
            // function call
@@ -2153,8 +2153,8 @@ ex_disassemble(exarg_T *eap)
                            else
                                smsg("%4d 2BOOL (!!val)", current);
                            break;
-           case ISN_2STRING: smsg("%4d 2STRING stack[%d]", current,
-                                                        iptr->isn_arg.number);
+           case ISN_2STRING: smsg("%4d 2STRING stack[%lld]", current,
+                                        (long long)(iptr->isn_arg.number));
                                break;
 
            case ISN_DROP: smsg("%4d DROP", current); break;
index 897e8646296b32876738cb4f69771d5967ea31c6..c1339f08c691b22f9f4f3acff4a9587516974a5c 100644 (file)
@@ -2992,7 +2992,7 @@ read_viminfo(
     if (p_verbose > 0)
     {
        verbose_enter();
-       smsg(_("Reading viminfo file \"%s\"%s%s%s"),
+       smsg(_("Reading viminfo file \"%s\"%s%s%s%s"),
                fname,
                (flags & VIF_WANT_INFO) ? _(" info") : "",
                (flags & VIF_WANT_MARKS) ? _(" marks") : "",