Fix incorrect GetLongPathName usage exposed by Eric's filename
patches.
diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c
index ad71131..a21ef50 100644
--- a/dlls/kernel/process.c
+++ b/dlls/kernel/process.c
@@ -1140,10 +1140,11 @@
NTSTATUS status;
WCHAR buffer[MAX_PATH];
- if (GetLongPathNameW( filename, buffer, MAX_PATH ))
- RtlInitUnicodeString( &image_str, buffer );
- else
- RtlInitUnicodeString( &image_str, filename );
+ if(!GetLongPathNameW( filename, buffer, MAX_PATH ))
+ lstrcpynW( buffer, filename, MAX_PATH );
+ if(!GetFullPathNameW( buffer, MAX_PATH, buffer, NULL ))
+ lstrcpynW( buffer, filename, MAX_PATH );
+ RtlInitUnicodeString( &image_str, buffer );
RtlInitUnicodeString( &cmdline_str, cmdline );
if (startup->lpDesktop) RtlInitUnicodeString( &desktop, startup->lpDesktop );