aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/syntax.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-10-31 03:50:19 +0100
committerJustin M. Keyes <justinkz@gmail.com>2016-11-08 21:20:08 +0100
commitc04ffe866d276d6a6bd9e9c6a8b0dbb71504db7c (patch)
tree0fca258fbfb83cb871a493916d9dd6e0ef1195c3 /src/nvim/syntax.c
parente8c0f909626094350be7ee7b524697804da38dc1 (diff)
downloadrneovim-c04ffe866d276d6a6bd9e9c6a8b0dbb71504db7c.tar.gz
rneovim-c04ffe866d276d6a6bd9e9c6a8b0dbb71504db7c.tar.bz2
rneovim-c04ffe866d276d6a6bd9e9c6a8b0dbb71504db7c.zip
'inccommand': rework
- Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0)
Diffstat (limited to 'src/nvim/syntax.c')
-rw-r--r--src/nvim/syntax.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c
index a1c6718b06..68d0e3da0f 100644
--- a/src/nvim/syntax.c
+++ b/src/nvim/syntax.c
@@ -7160,16 +7160,13 @@ int syn_namen2id(char_u *linep, int len)
*/
int syn_check_group(char_u *pp, int len)
{
- int id;
- char_u *name;
-
- name = vim_strnsave(pp, len);
-
- id = syn_name2id(name);
- if (id == 0) /* doesn't exist yet */
+ char_u *name = vim_strnsave(pp, len);
+ int id = syn_name2id(name);
+ if (id == 0) { // doesn't exist yet
id = syn_add_group(name);
- else
+ } else {
xfree(name);
+ }
return id;
}