From 1d5575b905007f6236b56b92ba484a4fa890e4d7 Mon Sep 17 00:00:00 2001 From: Damjan Jovanovic Date: Fri, 6 Jul 2007 07:27:56 +0200 Subject: [PATCH] shell32: DragQueryFile doesn't count the null terminator. --- dlls/shell32/shell.c | 4 +--- dlls/shell32/shellole.c | 9 ++------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/dlls/shell32/shell.c b/dlls/shell32/shell.c index cb950780f70..7ffc33bc38e 100644 --- a/dlls/shell32/shell.c +++ b/dlls/shell32/shell.c @@ -121,10 +121,8 @@ UINT16 WINAPI DragQueryFile16( } i = strlen(lpDrop); - i++; if (!lpszFile ) goto end; /* needed buffer size */ - i = (wLength > i) ? i : wLength; - lstrcpynA (lpszFile, lpDrop, i); + lstrcpynA (lpszFile, lpDrop, wLength); end: GlobalUnlock16(hDrop); return i; diff --git a/dlls/shell32/shellole.c b/dlls/shell32/shellole.c index e5d8368202d..f4853b542c1 100644 --- a/dlls/shell32/shellole.c +++ b/dlls/shell32/shellole.c @@ -621,10 +621,8 @@ UINT WINAPI DragQueryFileA( } i = strlen(lpDrop); - i++; if (!lpszFile ) goto end; /* needed buffer size */ - i = (lLength > i) ? i : lLength; - lstrcpynA (lpszFile, lpDrop, i); + lstrcpynA (lpszFile, lpDrop, lLength); end: GlobalUnlock(hDrop); return i; @@ -679,11 +677,8 @@ UINT WINAPI DragQueryFileW( } i = strlenW(lpwDrop); - i++; if ( !lpszwFile) goto end; /* needed buffer size */ - - i = (lLength > i) ? i : lLength; - lstrcpynW (lpszwFile, lpwDrop, i); + lstrcpynW (lpszwFile, lpwDrop, lLength); end: GlobalUnlock(hDrop); return i;