]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.677 v7.3.677
authorBram Moolenaar <Bram@vim.org>
Wed, 3 Oct 2012 16:25:00 +0000 (18:25 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 3 Oct 2012 16:25:00 +0000 (18:25 +0200)
Problem:    buf_spname() is used inconsistently.
Solution:   Make the return type a char_u pointer.  Check the size of the
            returned string.

src/buffer.c
src/ex_cmds2.c
src/ex_docmd.c
src/memline.c
src/proto/buffer.pro
src/screen.c
src/version.c

index 5998523219b0f31bbf4bbe558f07333c031d1bda..05da2860dd853bef7edfb6b30065a50c71d235b2 100644 (file)
@@ -2635,7 +2635,7 @@ buflist_list(eap)
            continue;
        msg_putchar('\n');
        if (buf_spname(buf) != NULL)
-           STRCPY(NameBuff, buf_spname(buf));
+           vim_strncpy(NameBuff, buf_spname(buf), MAXPATHL - 1);
        else
            home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
 
@@ -3350,7 +3350,7 @@ maketitle()
        else
        {
            if (buf_spname(curbuf) != NULL)
-               i_name = (char_u *)buf_spname(curbuf);
+               i_name = buf_spname(curbuf);
            else                    /* use file name only in icon */
                i_name = gettail(curbuf->b_ffname);
            *i_str = NUL;
@@ -3766,7 +3766,7 @@ build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
        case STL_FILENAME:
            fillable = FALSE;   /* don't change ' ' to fillchar */
            if (buf_spname(wp->w_buffer) != NULL)
-               STRCPY(NameBuff, buf_spname(wp->w_buffer));
+               vim_strncpy(NameBuff, buf_spname(wp->w_buffer), MAXPATHL - 1);
            else
            {
                t = (opt == STL_FULLPATH) ? wp->w_buffer->b_ffname
@@ -5244,7 +5244,7 @@ write_viminfo_bufferlist(fp)
  * Return special buffer name.
  * Returns NULL when the buffer has a normal file name.
  */
-    char *
+    char_u *
 buf_spname(buf)
     buf_T      *buf;
 {
@@ -5263,9 +5263,9 @@ buf_spname(buf)
                goto win_found;
 win_found:
        if (win != NULL && win->w_llist_ref != NULL)
-           return _(msg_loclist);
+           return (char_u *)_(msg_loclist);
        else
-           return _(msg_qflist);
+           return (char_u *)_(msg_qflist);
     }
 #endif
 #ifdef FEAT_QUICKFIX
@@ -5274,12 +5274,12 @@ win_found:
     if (bt_nofile(buf))
     {
        if (buf->b_sfname != NULL)
-           return (char *)buf->b_sfname;
-       return _("[Scratch]");
+           return buf->b_sfname;
+       return (char_u *)_("[Scratch]");
     }
 #endif
     if (buf->b_fname == NULL)
-       return _("[No Name]");
+       return (char_u *)_("[No Name]");
     return NULL;
 }
 
index d3bf04fade022bafa189987d5f62c417e05e796b..de190e78c392c43193c25a6a7432f46629937d7c 100644 (file)
@@ -1688,8 +1688,7 @@ check_changed_any(hidden)
            msg_didout = FALSE;
        }
        if (EMSG2(_("E162: No write since last change for buffer \"%s\""),
-                   buf_spname(buf) != NULL ? (char_u *)buf_spname(buf) :
-                   buf->b_fname))
+                   buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname))
        {
            save = no_wait_return;
            no_wait_return = FALSE;
index ebc8b98d111df5674d4c3f3e4684ff89b995685f..311f4f0e916be0df949278e6cebf5b0b8f87674c 100644 (file)
@@ -7602,7 +7602,7 @@ ex_tabs(eap)
            msg_putchar(bufIsChanged(wp->w_buffer) ? '+' : ' ');
            msg_putchar(' ');
            if (buf_spname(wp->w_buffer) != NULL)
-               STRCPY(IObuff, buf_spname(wp->w_buffer));
+               vim_strncpy(IObuff, buf_spname(wp->w_buffer), IOSIZE - 1);
            else
                home_replace(wp->w_buffer, wp->w_buffer->b_fname,
                                                        IObuff, IOSIZE, TRUE);
index 2a2426d672c7b956ae670bada4727eb6f91bfa79..fecd876373e544706a1ea41e562c71b63d8889a8 100644 (file)
@@ -780,9 +780,7 @@ ml_open_file(buf)
        need_wait_return = TRUE;        /* call wait_return later */
        ++no_wait_return;
        (void)EMSG2(_("E303: Unable to open swap file for \"%s\", recovery impossible"),
-                   buf_spname(buf) != NULL
-                       ? (char_u *)buf_spname(buf)
-                       : buf->b_fname);
+                   buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname);
        --no_wait_return;
     }
 
@@ -1315,7 +1313,7 @@ ml_recover()
     smsg((char_u *)_("Using swap file \"%s\""), NameBuff);
 
     if (buf_spname(curbuf) != NULL)
-       STRCPY(NameBuff, buf_spname(curbuf));
+       vim_strncpy(NameBuff, buf_spname(curbuf), MAXPATHL - 1);
     else
        home_replace(NULL, curbuf->b_ffname, NameBuff, MAXPATHL, TRUE);
     smsg((char_u *)_("Original file \"%s\""), NameBuff);
index 411c5af57e41ee685b442bc9e728f47e2b3392fd..85aeddaef55aee7468117065a335f8b901c7d9ee 100644 (file)
@@ -51,7 +51,7 @@ void ex_buffer_all __ARGS((exarg_T *eap));
 void do_modelines __ARGS((int flags));
 int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
 void write_viminfo_bufferlist __ARGS((FILE *fp));
-char *buf_spname __ARGS((buf_T *buf));
+char_u *buf_spname __ARGS((buf_T *buf));
 void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
 linenr_T buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
 int buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
index 92eb232ef02f9b4640563645d7bccf53886e606e..0e76d8cef2e7b9468ccc1db40536a56804942f95 100644 (file)
@@ -9876,7 +9876,7 @@ get_trans_bufname(buf)
     buf_T      *buf;
 {
     if (buf_spname(buf) != NULL)
-       STRCPY(NameBuff, buf_spname(buf));
+       vim_strncpy(NameBuff, buf_spname(buf), MAXPATHL - 1);
     else
        home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
     trans_characters(NameBuff, MAXPATHL);
index 38f132467ca8d0fc535017091b025fe28d18bc1e..e0bff5328f35e0411708b389d62bd2d709b877fe 100644 (file)
@@ -719,6 +719,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    677,
 /**/
     676,
 /**/