aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRui Abreu Ferreira <raf-ep@gmx.com>2015-05-17 18:48:47 +0100
committerSeth Jackson <sethjackson@gmail.com>2016-01-01 20:58:04 -0500
commitb2f9bfbff0ba9925328d2f997f73734f70c6c4cf (patch)
tree45ce1fb76eb3e97d9cb2e57753859fcc57d40ada /src
parent4d27bd6bfee8eef32408b14aa2b6f08ee902d6e7 (diff)
downloadrneovim-b2f9bfbff0ba9925328d2f997f73734f70c6c4cf.tar.gz
rneovim-b2f9bfbff0ba9925328d2f997f73734f70c6c4cf.tar.bz2
rneovim-b2f9bfbff0ba9925328d2f997f73734f70c6c4cf.zip
Windows: Bring back code branch for if_cscope.
The Vim code for windows in if_cscope.c/.h was removed during the refactor, added missing code for error_closing().
Diffstat (limited to 'src')
-rw-r--r--src/nvim/if_cscope.c12
-rw-r--r--src/nvim/if_cscope_defs.h9
-rw-r--r--src/nvim/os/os_defs.h3
3 files changed, 21 insertions, 3 deletions
diff --git a/src/nvim/if_cscope.c b/src/nvim/if_cscope.c
index 64323896d6..cd206e2e0d 100644
--- a/src/nvim/if_cscope.c
+++ b/src/nvim/if_cscope.c
@@ -743,8 +743,16 @@ err_closing:
(void)close(to_cs[1]);
(void)close(from_cs[0]);
#else
- /* WIN32 */
- /* Create pipes to communicate with cscope */
+ // Create pipes to communicate with cscope
+ int fd;
+ SECURITY_ATTRIBUTES sa;
+ PROCESS_INFORMATION pi;
+ BOOL pipe_stdin = FALSE, pipe_stdout = FALSE; // NOLINT(readability/bool)
+ STARTUPINFO si;
+ HANDLE stdin_rd, stdout_rd;
+ HANDLE stdout_wr, stdin_wr;
+ BOOL created;
+
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;
diff --git a/src/nvim/if_cscope_defs.h b/src/nvim/if_cscope_defs.h
index a0c84e8ba1..8cd74c74e6 100644
--- a/src/nvim/if_cscope_defs.h
+++ b/src/nvim/if_cscope_defs.h
@@ -16,6 +16,7 @@
# include <sys/types.h> /* pid_t */
#endif
+#include "nvim/os/os_defs.h"
#include "nvim/os/fs_defs.h"
#define CSCOPE_SUCCESS 0
@@ -50,7 +51,13 @@ typedef struct csi {
char * ppath; /* path to prepend (the -P option) */
char * flags; /* additional cscope flags/options (e.g, -p2) */
#if defined(UNIX)
- pid_t pid; /* PID of the connected cscope process. */
+ pid_t pid; // PID of the connected cscope process
+#else
+ DWORD pid; // PID of the connected cscope process
+ HANDLE hProc; // cscope process handle
+ DWORD nVolume; // Volume serial number, instead of st_dev
+ DWORD nIndexHigh; // st_ino has no meaning on Windows
+ DWORD nIndexLow;
#endif
FileID file_id;
diff --git a/src/nvim/os/os_defs.h b/src/nvim/os/os_defs.h
index 7d77899287..26e479492e 100644
--- a/src/nvim/os/os_defs.h
+++ b/src/nvim/os/os_defs.h
@@ -57,6 +57,9 @@
#if !defined(S_ISREG) && defined(S_IFREG)
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif
+#if !defined(S_ISLNK) && defined(S_IFLNK)
+# define S_IFLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#endif
#if !defined(S_ISBLK) && defined(S_IFBLK)
# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
#endif