]> git.eshelyaron.com Git - emacs.git/commitdiff
Fixed a bug in w32-long-file-name.
authorEli Zaretskii <eliz@gnu.org>
Mon, 9 Dec 2013 20:21:58 +0000 (22:21 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 9 Dec 2013 20:21:58 +0000 (22:21 +0200)
src/w32.c

index db0b4fee4855b395d75c2d53bd3454cb48403786..bff0e53e8c8705b7920a0317e218a7a83a600aef 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -2154,7 +2154,16 @@ get_long_basename (char * name, char * buf, int size)
         could return some unrelated file name in the same
         directory.  */
       if (_mbspbrk (fname_ansi, "?"))
-       cstatus = filename_from_ansi (fname_ansi, fname_utf8);
+       {
+         /* Find the basename of fname_ansi.  */
+         char *p = strrchr (fname_ansi, '\\');
+
+         if (!p)
+           p = fname_ansi;
+         else
+           p++;
+         cstatus = filename_from_ansi (p, fname_utf8);
+       }
       else
        {
          dir_handle = FindFirstFileA (fname_ansi, &find_data_ansi);