diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-06-06 23:10:19 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-06-06 23:10:19 +0200 |
commit | e0c6a656f37b028e4e80b25fb236095d98451483 (patch) | |
tree | 5271aca03ed8b2db61c2e5bbc023c83e5ba82994 /src/syntax.c | |
parent | 9d6650f6c443985a83df3b3415eb42137e613f1f (diff) | |
download | vim-git-e0c6a656f37b028e4e80b25fb236095d98451483.tar.gz |
Fix crash for ":ownsyntax". (Dominique Pelle)
Diffstat (limited to 'src/syntax.c')
-rw-r--r-- | src/syntax.c | 7 |
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); |