changeset 4867:04b8912a9c85 v7.3.1180

updated for version 7.3.1180 Problem: When current directory changes, path from cscope may no longer be valid. (AS Budden) Solution: Always store the absolute path. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Wed, 12 Jun 2013 21:25:23 +0200
parents 17019850f49f
children f2f15e432db6
files src/if_cscope.c src/version.c
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -539,12 +539,27 @@ cs_add_common(arg1, arg2, flags)
     char	*fname2 = NULL;
     char	*ppath = NULL;
     int		i;
+#ifdef FEAT_MODIFY_FNAME
+    int		len;
+    int		usedlen = 0;
+    char_u	*fbuf = NULL;
+#endif
 
     /* get the filename (arg1), expand it, and try to stat it */
     if ((fname = (char *)alloc(MAXPATHL + 1)) == NULL)
 	goto add_err;
 
     expand_env((char_u *)arg1, (char_u *)fname, MAXPATHL);
+#ifdef FEAT_MODIFY_FNAME
+    len = (int)STRLEN(fname);
+    fbuf = (char_u *)fname;
+    (void)modify_fname((char_u *)":p", &usedlen,
+					      (char_u **)&fname, &fbuf, &len);
+    if (fname == NULL)
+	goto add_err;
+    fname = (char *)vim_strnsave((char_u *)fname, len);
+    vim_free(fbuf);
+#endif
     ret = stat(fname, &statbuf);
     if (ret < 0)
     {
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1180,
+/**/
     1179,
 /**/
     1178,