diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-12 21:25:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-12 21:25:23 +0200 |
commit | cab465a6d7a7d158c99b04ddc81650b468d82227 (patch) | |
tree | 6f1620ff103430ac7167754f9b0c4d301be8f404 /src | |
parent | 0825c00f14bb60202bcd0391bc3f0eba4d188aac (diff) | |
download | vim-cab465a6d7a7d158c99b04ddc81650b468d82227.zip |
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)
Diffstat (limited to 'src')
-rw-r--r-- | src/if_cscope.c | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/if_cscope.c b/src/if_cscope.c index c82448e08..605131156 100644 --- 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) { diff --git a/src/version.c b/src/version.c index e7f399b80..fddef115f 100644 --- 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, |