#include "syssignal.h"
#include "w32term.h"
#include "dispextern.h" /* for xstrcasecmp */
+#include "coding.h"
#define RVA_TO_PTR(var,section,filedata) \
((void *)((section)->PointerToRawData \
{
char * dllname = RVA_TO_PTR (imports->Name, section,
executable);
-
+
/* The exact name of the cygwin dll has changed with
various releases, but hopefully this will be reasonably
future proof. */
filename = Fexpand_file_name (filename, Qnil);
/* luckily, this returns the short version of each element in the path. */
- if (GetShortPathName (SDATA (filename), shortname, MAX_PATH) == 0)
+ if (GetShortPathName (SDATA (ENCODE_FILE (filename)), shortname, MAX_PATH) == 0)
return Qnil;
CORRECT_DIR_SEPS (shortname);
/* first expand it. */
filename = Fexpand_file_name (filename, Qnil);
- if (!w32_get_long_filename (SDATA (filename), longname, MAX_PATH))
+ if (!w32_get_long_filename (SDATA (ENCODE_FILE (filename)), longname, MAX_PATH))
return Qnil;
CORRECT_DIR_SEPS (longname);
if (drive_only && longname[1] == ':' && longname[2] == '/' && !longname[3])
longname[2] = '\0';
- return build_string (longname);
+ return DECODE_FILE (build_string (longname));
}
DEFUN ("w32-set-process-priority", Fw32_set_process_priority,
Sw32_get_locale_info, 1, 2, 0,
doc: /* Return information about the Windows locale LCID.
By default, return a three letter locale code which encodes the default
-language as the first two characters, and the country or regionial variant
+language as the first two characters, and the country or regional variant
as the third letter. For example, ENU refers to `English (United States)',
while ENC means `English (Canadian)'.