From 1274d33493efb6250470a37b9f4432bb31e87d64 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 30 Jan 2018 21:47:52 +0100 Subject: patch 8.0.1439: if cscope fails a search Vim may hang Problem: If cscope fails a search Vim may hang. Solution: Bail out when a search error is encountered. (Safouane Baroudi, closes #2598) --- src/if_cscope.c | 5 ++++- src/version.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/if_cscope.c b/src/if_cscope.c index 168b3e49e..9466c34f9 100644 --- a/src/if_cscope.c +++ b/src/if_cscope.c @@ -677,7 +677,7 @@ cs_cnt_matches(int idx) { char *stok; char *buf; - int nlines; + int nlines = 0; buf = (char *)alloc(CSREAD_BUFSIZE); if (buf == NULL) @@ -700,7 +700,10 @@ cs_cnt_matches(int idx) * cscope will output error messages before the number-of-lines output. * Display/discard any output that doesn't match what we want. * Accept "\S*cscope: X lines", also matches "mlcscope". + * Bail out for the "Unable to search" error. */ + if (strstr((const char *)stok, "Unable to search database") != NULL) + break; if ((stok = strtok(buf, (const char *)" ")) == NULL) continue; if (strstr((const char *)stok, "cscope:") == NULL) diff --git a/src/version.c b/src/version.c index f66cf4566..09fb30056 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1439, /**/ 1438, /**/ -- cgit v1.2.1