Added patch to fix implementation of krnl386.exe16.GetTempDrive.

This commit is contained in:
Sebastian Lackner
2015-08-18 21:54:58 +02:00
parent 3fe5ad7aef
commit b1ede54d23
5 changed files with 52 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
From 97e522d70d8f94fe8af1baa4a1c49f5956df3caf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 18 Aug 2015 21:33:58 +0200
Subject: krnl386.exe16: Increase buffer size in GetTempDrive.
---
dlls/krnl386.exe16/file.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/krnl386.exe16/file.c b/dlls/krnl386.exe16/file.c
index 6c3cef3..77908c2 100644
--- a/dlls/krnl386.exe16/file.c
+++ b/dlls/krnl386.exe16/file.c
@@ -461,10 +461,10 @@ LONG WINAPI _hwrite16( HFILE16 hFile, LPCSTR buffer, LONG count )
*/
UINT WINAPI GetTempDrive( BYTE ignored )
{
- WCHAR buffer[8];
+ WCHAR buffer[MAX_PATH];
BYTE ret;
- if (GetTempPathW( 8, buffer )) ret = (BYTE)toupperW(buffer[0]);
+ if (GetTempPathW( MAX_PATH, buffer )) ret = (BYTE)toupperW(buffer[0]);
else ret = 'C';
return MAKELONG( ret | (':' << 8), 1 );
}
--
2.5.0

View File

@@ -0,0 +1 @@
Fixes: [39104] Fix implementation of krnl386.exe16.GetTempDrive

View File

@@ -147,6 +147,7 @@ patch_enable_all ()
enable_kernel32_SetFileInformationByHandle="$1"
enable_kernel32_TimezoneInformation_Registry="$1"
enable_kernel32_VerifyVersionInfo="$1"
enable_krnl386_exe16_GetTempDrive="$1"
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_makedep_PARENTSPEC="$1"
@@ -528,6 +529,9 @@ patch_enable ()
kernel32-VerifyVersionInfo)
enable_kernel32_VerifyVersionInfo="$2"
;;
krnl386.exe16-GetTempDrive)
enable_krnl386_exe16_GetTempDrive="$2"
;;
libs-Debug_Channel)
enable_libs_Debug_Channel="$2"
;;
@@ -3420,6 +3424,21 @@ if test "$enable_kernel32_VerifyVersionInfo" -eq 1; then
) >> "$patchlist"
fi
# Patchset krnl386.exe16-GetTempDrive
# |
# | This patchset fixes the following Wine bugs:
# | * [#39104] Fix implementation of krnl386.exe16.GetTempDrive
# |
# | Modified files:
# | * dlls/krnl386.exe16/file.c
# |
if test "$enable_krnl386_exe16_GetTempDrive" -eq 1; then
patch_apply krnl386.exe16-GetTempDrive/0001-krnl386.exe16-Increase-buffer-size-in-GetTempDrive.patch
(
echo '+ { "Michael Müller", "krnl386.exe16: Increase buffer size in GetTempDrive.", 1 },';
) >> "$patchlist"
fi
# Patchset libs-Debug_Channel
# |
# | Modified files: