[SHELL32] -CRecycleBin: Call GetDriveTypeW with correct parameters. Now files can...
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 25 Aug 2017 08:44:13 +0000 (08:44 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 25 Aug 2017 08:44:13 +0000 (08:44 +0000)
svn path=/trunk/; revision=75665

reactos/dll/win32/shell32/folders/CRecycleBin.cpp

index 8b60896..51be966 100644 (file)
@@ -885,13 +885,19 @@ TRASH_CanTrashFile(LPCWSTR wszPath)
         return FALSE;
     }
 
-    if (GetDriveTypeW(wszPath) != DRIVE_FIXED)
+    // Only keep the base path.
+    WCHAR wszRootPathName[MAX_PATH];
+    strcpyW(wszRootPathName, wszPath);
+    PathRemoveFileSpecW(wszRootPathName);
+    PathAddBackslashW(wszRootPathName);
+
+    if (GetDriveTypeW(wszRootPathName) != DRIVE_FIXED)
     {
         /* no bitbucket on removable media */
         return FALSE;
     }
 
-    if (!GetVolumeInformationW(wszPath, NULL, 0, &VolSerialNumber, &MaxComponentLength, &FileSystemFlags, NULL, 0))
+    if (!GetVolumeInformationW(wszRootPathName, NULL, 0, &VolSerialNumber, &MaxComponentLength, &FileSystemFlags, NULL, 0))
     {
         ERR("GetVolumeInformationW failed with %u\n", GetLastError());
         return FALSE;