From 8500eeed86f1cc19f7d038031436a09f80cc6ce9 Mon Sep 17 00:00:00 2001 From: Felipe Oliveira Carvalho Date: Sat, 26 Apr 2014 01:13:10 -0300 Subject: Don't retry to make the tempname in write_viminfo() with shortname=1 ref #572 --- src/ex_cmds.c | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 8664a3c6d0..c65ff6dbbf 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -1569,44 +1569,14 @@ void write_viminfo(char_u *file, int forceit) } #endif - /* - * Make tempname. - * May try twice: Once normal and once with shortname set, just in - * case somebody puts his viminfo file in an 8.3 filesystem. - */ - for (;; ) { - tempname = buf_modname( -#ifdef UNIX - shortname, -#else - FALSE, -#endif - fname, - (char_u *)".tmp", - FALSE); - if (tempname == NULL) /* out of memory */ - break; - + // Make tempname + tempname = buf_modname(FALSE, fname, (char_u *)".tmp", FALSE); + if (tempname != NULL) { /* * Check if tempfile already exists. Never overwrite an * existing file! */ if (mch_stat((char *)tempname, &st_new) == 0) { -#ifdef UNIX - /* - * Check if tempfile is same as original file. May happen - * when modname() gave the same file back. E.g. silly - * link, or file name-length reached. Try again with - * shortname set. - */ - if (!shortname && st_new.st_dev == st_old.st_dev - && st_new.st_ino == st_old.st_ino) { - vim_free(tempname); - tempname = NULL; - shortname = TRUE; - continue; - } -#endif /* * Try another name. Change one character, just before * the extension. This should also work for an 8.3 @@ -1629,7 +1599,6 @@ void write_viminfo(char_u *file, int forceit) } } } - break; } if (tempname != NULL) { -- cgit