summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-06-06 23:10:19 +0200
committerBram Moolenaar <Bram@vim.org>2010-06-06 23:10:19 +0200
commite0c6a656f37b028e4e80b25fb236095d98451483 (patch)
tree5271aca03ed8b2db61c2e5bbc023c83e5ba82994 /src/syntax.c
parent9d6650f6c443985a83df3b3415eb42137e613f1f (diff)
downloadvim-git-e0c6a656f37b028e4e80b25fb236095d98451483.tar.gz
Fix crash for ":ownsyntax". (Dominique Pelle)
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/syntax.c b/src/syntax.c
index 038820923..7d96febb6 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6198,10 +6198,13 @@ ex_ownsyntax(eap)
/* move value of b:current_syntax to w:current_syntax */
new_value = get_var_value((char_u *)"b:current_syntax");
- set_internal_string_var((char_u *)"w:current_syntax", new_value);
+ if (new_value != NULL)
+ set_internal_string_var((char_u *)"w:current_syntax", new_value);
/* restore value of b:current_syntax */
- if (old_value != NULL)
+ if (old_value == NULL)
+ do_unlet((char_u *)"b:current_syntax", TRUE);
+ else
{
set_internal_string_var((char_u *)"b:current_syntax", old_value);
vim_free(old_value);