Mercurial > vim
comparison src/channel.c @ 8508:13e5a1f02be4 v7.4.1544
commit https://github.com/vim/vim/commit/583c1f14a4e1d89fe029b1c134d405357468ece7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 12 15:58:34 2016 +0100
patch 7.4.1544
Problem: On Win32 escaping the command does not work properly.
Solution: Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 12 Mar 2016 16:00:05 +0100 |
parents | ee5cb2e9ed5a |
children | c337c813c64d |
comparison
equal
deleted
inserted
replaced
8507:6ef0a1555062 | 8508:13e5a1f02be4 |
---|---|
3623 argv[argc++] = (char *)s; | 3623 argv[argc++] = (char *)s; |
3624 #else | 3624 #else |
3625 /* Only escape when needed, double quotes are not always allowed. */ | 3625 /* Only escape when needed, double quotes are not always allowed. */ |
3626 if (li != l->lv_first && vim_strpbrk(s, (char_u *)" \t\"") != NULL) | 3626 if (li != l->lv_first && vim_strpbrk(s, (char_u *)" \t\"") != NULL) |
3627 { | 3627 { |
3628 # ifdef WIN32 | |
3629 int old_ssl = p_ssl; | |
3630 | |
3631 /* This is using CreateProcess, not cmd.exe. Always use | |
3632 * double quote and backslashes. */ | |
3633 p_ssl = 0; | |
3634 # endif | |
3628 s = vim_strsave_shellescape(s, FALSE, TRUE); | 3635 s = vim_strsave_shellescape(s, FALSE, TRUE); |
3636 # ifdef WIN32 | |
3637 p_ssl = old_ssl; | |
3638 # endif | |
3629 if (s == NULL) | 3639 if (s == NULL) |
3630 goto theend; | 3640 goto theend; |
3631 ga_concat(&ga, s); | 3641 ga_concat(&ga, s); |
3632 vim_free(s); | 3642 vim_free(s); |
3633 } | 3643 } |