forked from aniani/vim
updated for version 7.4.546
Problem: Repeated use of vim_snprintf() with a number. Solution: Move these vim_snprintf() calls into a function.
This commit is contained in:
@@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
546,
|
||||
/**/
|
||||
545,
|
||||
/**/
|
||||
|
35
src/window.c
35
src/window.c
@@ -11,6 +11,7 @@
|
||||
|
||||
static int path_is_url __ARGS((char_u *p));
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
static void cmd_with_count __ARGS((char *cmd, char_u *bufp, size_t bufsize, long Prenum));
|
||||
static void win_init __ARGS((win_T *newp, win_T *oldp, int flags));
|
||||
static void win_init_some __ARGS((win_T *newp, win_T *oldp));
|
||||
static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col));
|
||||
@@ -167,10 +168,7 @@ do_window(nchar, Prenum, xchar)
|
||||
case '^':
|
||||
CHECK_CMDWIN
|
||||
reset_VIsual_and_resel(); /* stop Visual mode */
|
||||
STRCPY(cbuf, "split #");
|
||||
if (Prenum)
|
||||
vim_snprintf((char *)cbuf + 7, sizeof(cbuf) - 7,
|
||||
"%ld", Prenum);
|
||||
cmd_with_count("split #", cbuf, sizeof(cbuf), Prenum);
|
||||
do_cmdline_cmd(cbuf);
|
||||
break;
|
||||
|
||||
@@ -199,10 +197,7 @@ newwindow:
|
||||
case Ctrl_Q:
|
||||
case 'q':
|
||||
reset_VIsual_and_resel(); /* stop Visual mode */
|
||||
STRCPY(cbuf, "quit");
|
||||
if (Prenum)
|
||||
vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 5,
|
||||
"%ld", Prenum);
|
||||
cmd_with_count("quit", cbuf, sizeof(cbuf), Prenum);
|
||||
do_cmdline_cmd(cbuf);
|
||||
break;
|
||||
|
||||
@@ -210,10 +205,7 @@ newwindow:
|
||||
case Ctrl_C:
|
||||
case 'c':
|
||||
reset_VIsual_and_resel(); /* stop Visual mode */
|
||||
STRCPY(cbuf, "close");
|
||||
if (Prenum)
|
||||
vim_snprintf((char *)cbuf + 5, sizeof(cbuf) - 5,
|
||||
"%ld", Prenum);
|
||||
cmd_with_count("close", cbuf, sizeof(cbuf), Prenum);
|
||||
do_cmdline_cmd(cbuf);
|
||||
break;
|
||||
|
||||
@@ -243,10 +235,7 @@ newwindow:
|
||||
case 'o':
|
||||
CHECK_CMDWIN
|
||||
reset_VIsual_and_resel(); /* stop Visual mode */
|
||||
STRCPY(cbuf, "only");
|
||||
if (Prenum > 0)
|
||||
vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 4,
|
||||
"%ld", Prenum);
|
||||
cmd_with_count("only", cbuf, sizeof(cbuf), Prenum);
|
||||
do_cmdline_cmd(cbuf);
|
||||
break;
|
||||
|
||||
@@ -635,6 +624,20 @@ wingotofile:
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
cmd_with_count(cmd, bufp, bufsize, Prenum)
|
||||
char *cmd;
|
||||
char_u *bufp;
|
||||
size_t bufsize;
|
||||
long Prenum;
|
||||
{
|
||||
size_t len = STRLEN(cmd);
|
||||
|
||||
STRCPY(bufp, cmd);
|
||||
if (Prenum > 0)
|
||||
vim_snprintf((char *)bufp + len, bufsize - len, "%ld", Prenum);
|
||||
}
|
||||
|
||||
/*
|
||||
* split the current window, implements CTRL-W s and :split
|
||||
*
|
||||
|
Reference in New Issue
Block a user