summaryrefslogtreecommitdiff
path: root/src/w32.h
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-02-06 17:27:46 +0200
committerEli Zaretskii <eliz@gnu.org>2014-02-06 17:27:46 +0200
commit829f4f2256d11c0336618269b45b2eea299ed2ce (patch)
tree74fbee3b06e4efad9bd218713188d73a86fa447d /src/w32.h
parent629de968455d2b4632fbe9db860ae4ac7e933b9b (diff)
downloademacs-829f4f2256d11c0336618269b45b2eea299ed2ce.tar.gz
Another fix for handling of file names on Windows 9X.
src/w32.c (pMultiByteToWideChar, pWideCharToMultiByte): New variables: pointers through which to call the respective APIs. (filename_to_utf16, filename_from_utf16, filename_to_ansi) (filename_from_ansi, sys_link, check_windows_init_file): Call MultiByteToWideChar and WideCharToMultiByte through pointers. This is required on Windows 9X, where we dynamically load UNICOWS.DLL which has their non-stub implementations. (maybe_load_unicows_dll): Assign addresses to these 2 function pointers after loading UNICOWS.DLL. src/w32fns.c (Fx_file_dialog, Fw32_shell_execute) [!CYGWIN]: Call MultiByteToWideChar and WideCharToMultiByte through function pointers. src/w32.h (pMultiByteToWideChar, pWideCharToMultiByte): New declarations.
Diffstat (limited to 'src/w32.h')
-rw-r--r--src/w32.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/w32.h b/src/w32.h
index 0ca30c60125..33fd2709a71 100644
--- a/src/w32.h
+++ b/src/w32.h
@@ -175,6 +175,9 @@ extern int _sys_wait_accept (int fd);
extern Lisp_Object QCloaded_from;
extern HMODULE w32_delayed_load (Lisp_Object);
+extern int (WINAPI *pMultiByteToWideChar)(UINT,DWORD,LPCSTR,int,LPWSTR,int);
+extern int (WINAPI *pWideCharToMultiByte)(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
+
extern void init_environment (char **);
extern void check_windows_init_file (void);
extern void syms_of_ntproc (void);