summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-26 22:36:41 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-26 22:36:41 +0100
commit5ff595d9db2d9a33aa10cc9f18f256826226862f (patch)
tree1abcab2fb32d1084c7d0667490679d5c5941a04b /src/syntax.c
parentaf9a6002e0761012cb7108cbfa179a880d3cb49b (diff)
downloadvim-git-5ff595d9db2d9a33aa10cc9f18f256826226862f.tar.gz
patch 9.0.0284: using static buffer for multiple completion functionsv9.0.0284
Problem: Using static buffer for multiple completion functions. Solution: Use one buffer in expand_T.
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/syntax.c b/src/syntax.c
index 1fc205414..c68e001be 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6420,11 +6420,8 @@ set_context_in_syntax_cmd(expand_T *xp, char_u *arg)
* expansion.
*/
char_u *
-get_syntax_name(expand_T *xp UNUSED, int idx)
+get_syntax_name(expand_T *xp, int idx)
{
-#define CBUFFER_LEN 256
- static char_u cbuffer[CBUFFER_LEN]; // TODO: better solution
-
switch (expand_what)
{
case EXP_SUBCMD:
@@ -6452,9 +6449,9 @@ get_syntax_name(expand_T *xp UNUSED, int idx)
{
if (idx < curwin->w_s->b_syn_clusters.ga_len)
{
- vim_snprintf((char *)cbuffer, CBUFFER_LEN, "@%s",
+ vim_snprintf((char *)xp->xp_buf, EXPAND_BUF_LEN, "@%s",
SYN_CLSTR(curwin->w_s)[idx].scl_name);
- return cbuffer;
+ return xp->xp_buf;
}
else
return NULL;