diff options
author | Rui Abreu Ferreira <raf-ep@gmx.com> | 2015-09-30 16:13:12 +0100 |
---|---|---|
committer | Rui Abreu Ferreira <raf-ep@gmx.com> | 2015-10-18 16:34:54 +0100 |
commit | 5161f447f6dfb13082c6cdebb1b5806e0e3d6a16 (patch) | |
tree | c5d688714468c80df763144c17dc367eac3b69c1 /src/nvim/eval.c | |
parent | e9de70e4ea53cd7ab70eba0757309004c61c3c62 (diff) | |
download | rneovim-5161f447f6dfb13082c6cdebb1b5806e0e3d6a16.tar.gz rneovim-5161f447f6dfb13082c6cdebb1b5806e0e3d6a16.tar.bz2 rneovim-5161f447f6dfb13082c6cdebb1b5806e0e3d6a16.zip |
Implement server_address_new()
When creating a local socket/pipe (server_start()) Neovim used vim_tempname() to
generate a unique socket path. For Windows UNIX filepaths cannot be used as
pipe names (they must start with \\.\pipe\). This commit replaces the use of
vim_tempname() for server addresses with server_address_new().
server_address_new() generates unique names for local sockets/pipes - for UNIX
it uses vim_tempname(), for Windows generates names in the form
\\.\pipe\nvim-PID-COUNTER
where PID is the current process id, and COUNTER is a static uint32_t counter
incremented with every call. This function is now used for server_start() and
server_init() when no address is available.
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r-- | src/nvim/eval.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index d02348028a..a1ac713a75 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -14572,7 +14572,7 @@ static void f_serverstart(typval_T *argvars, typval_T *rettv) rettv->vval.v_string = vim_strsave(get_tv_string(argvars)); } } else { - rettv->vval.v_string = vim_tempname(); + rettv->vval.v_string = (char_u *)server_address_new(); } int result = server_start((char *) rettv->vval.v_string); |