Mercurial > vim
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) {