# HG changeset patch # User Juanma Barranquero # Date 1227983733 0 # Node ID 3ec2cc2d35c148cd6456eedde7b59cd592a01bad # Parent f42890851326cf708265c3e1df1ac94a9d7def7d * w32proc.c: Include "coding.h". (Fw32_short_file_name): Encode filename passed to Windows API. (Fw32_long_file_name): Encode filename passed to Windows API and decode back the result. (Bug#1433) diff -r f42890851326 -r 3ec2cc2d35c1 src/ChangeLog --- a/src/ChangeLog Sat Nov 29 18:07:15 2008 +0000 +++ b/src/ChangeLog Sat Nov 29 18:35:33 2008 +0000 @@ -1,3 +1,10 @@ +2008-11-29 Juanma Barranquero + + * w32proc.c: Include "coding.h". + (Fw32_short_file_name): Encode filename passed to Windows API. + (Fw32_long_file_name): Encode filename passed to Windows API and + decode back the result. (Bug#1433) + 2008-11-29 Kenichi Handa * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or diff -r f42890851326 -r 3ec2cc2d35c1 src/w32proc.c --- a/src/w32proc.c Sat Nov 29 18:07:15 2008 +0000 +++ b/src/w32proc.c Sat Nov 29 18:35:33 2008 +0000 @@ -63,6 +63,7 @@ #include "syssignal.h" #include "w32term.h" #include "dispextern.h" /* for xstrcasecmp */ +#include "coding.h" #define RVA_TO_PTR(var,section,filedata) \ ((void *)((section)->PointerToRawData \ @@ -1781,7 +1782,7 @@ 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); @@ -1810,7 +1811,7 @@ /* 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); @@ -1821,7 +1822,7 @@ 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,