]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/w32fns.c (process_dropfiles): Fix cygw32 build (bug#74312).
authorEli Zaretskii <eliz@gnu.org>
Mon, 11 Nov 2024 16:04:52 +0000 (18:04 +0200)
committerEshel Yaron <me@eshelyaron.com>
Fri, 15 Nov 2024 12:42:01 +0000 (13:42 +0100)
(cherry picked from commit 6ddbe8c7010485f6bca80b6e898610d5831eac60)

src/w32fns.c

index eb42d3b61b2e041d0f580460ce6c3b606e62738c..1bd3d5099e2b5cfdc0569a88c447411227da389b 100644 (file)
@@ -2479,9 +2479,22 @@ static Lisp_Object
 process_dropfiles (DROPFILES *files)
 {
   char *start_of_files = (char *) files + files->pFiles;
+#ifndef NTGUI_UNICODE
   char filename[MAX_UTF8_PATH];
+#endif
   Lisp_Object lisp_files = Qnil;
 
+#ifdef NTGUI_UNICODE
+  WCHAR *p = (WCHAR *) start_of_files;
+  for (; *p; p += wcslen (p) + 1)
+    {
+      Lisp_Object fn = from_unicode_buffer (p);
+#ifdef CYGWIN
+      fn = Fcygwin_convert_file_name_to_windows (fn, Qt);
+#endif
+      lisp_files = Fcons (fn, lisp_files);
+    }
+#else
   if (files->fWide)
     {
       WCHAR *p = (WCHAR *) start_of_files;
@@ -2502,6 +2515,7 @@ process_dropfiles (DROPFILES *files)
                              lisp_files);
        }
     }
+#endif
   return lisp_files;
 }