diff options
author | Bram Moolenaar <Bram@vim.org> | 2007-10-03 12:31:33 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2007-10-03 12:31:33 +0000 |
commit | 9b9422097cd9f4dda8525b3d37a0be8e67d6bcb9 (patch) | |
tree | 9233d42b52f9bbef7025421f183f265346ba8178 /src/buffer.c | |
parent | f22129b5c5c3a14a5120adb007aa78434fcaa0a6 (diff) | |
download | vim-git-9b9422097cd9f4dda8525b3d37a0be8e67d6bcb9.tar.gz |
updated for version 7.1-135v7.1.135
Diffstat (limited to 'src/buffer.c')
-rw-r--r-- | src/buffer.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/buffer.c b/src/buffer.c index 9f4c3deb4..5aa69c588 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -4175,29 +4175,35 @@ fix_fname(fname) * mess up the full path name, even though it starts with a '/'. * Also expand when there is ".." in the file name, try to remove it, * because "c:/src/../README" is equal to "c:/README". + * Similarly "c:/src//file" is equal to "c:/src/file". * For MS-Windows also expand names like "longna~1" to "longname". */ #ifdef UNIX return FullName_save(fname, TRUE); #else - if (!vim_isAbsName(fname) || strstr((char *)fname, "..") != NULL -#if defined(MSWIN) || defined(DJGPP) + if (!vim_isAbsName(fname) + || strstr((char *)fname, "..") != NULL + || strstr((char *)fname, "//") != NULL +# ifdef BACKSLASH_IN_FILENAME + || strstr((char *)fname, "\\\\") != NULL +# endif +# if defined(MSWIN) || defined(DJGPP) || vim_strchr(fname, '~') != NULL -#endif +# endif ) return FullName_save(fname, FALSE); fname = vim_strsave(fname); -#ifdef USE_FNAME_CASE -# ifdef USE_LONG_FNAME +# ifdef USE_FNAME_CASE +# ifdef USE_LONG_FNAME if (USE_LONG_FNAME) -# endif +# endif { if (fname != NULL) fname_case(fname, 0); /* set correct case for file name */ } -#endif +# endif return fname; #endif |