summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/rust-trash-2-update-windows.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/rust-trash-2-update-windows.patch')
-rw-r--r--gnu/packages/patches/rust-trash-2-update-windows.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/gnu/packages/patches/rust-trash-2-update-windows.patch b/gnu/packages/patches/rust-trash-2-update-windows.patch
deleted file mode 100644
index f6b13a4658..0000000000
--- a/gnu/packages/patches/rust-trash-2-update-windows.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-This patch is taken from upstream so we can use an already packaged
-version of the windows crate.
-
-diff --git a/Cargo.toml b/Cargo.toml
-index 2c28dfe..6b61771 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -87,9 +87,8 @@ version = "0.2.7"
- version = "1.0.0"
-
- [target."cfg(windows)".dependencies.windows]
--version = "0.37.0"
-+version = "0.44.0"
- features = [
-- "alloc",
- "Win32_Foundation",
- "Win32_System_Com_StructuredStorage",
- "Win32_UI_Shell_PropertiesSystem",
-diff --git a/Cargo.toml.orig b/Cargo.toml.orig
-index 894a78c..c17fc02 100644
---- a/Cargo.toml.orig
-+++ b/Cargo.toml.orig
-@@ -44,7 +44,7 @@ once_cell = "1.7.2"
- once_cell = "1.7.2"
-
- [target.'cfg(windows)'.dependencies]
--windows = { version = "0.37.0", features = [ "alloc",
-+windows = { version = "0.44.0", features = [
- "Win32_Foundation",
- "Win32_System_Com_StructuredStorage",
- "Win32_UI_Shell_PropertiesSystem",
-diff --git a/src/windows.rs b/src/windows.rs
-index c1379d3..3f4426b 100644
---- a/src/windows.rs
-+++ b/src/windows.rs
-@@ -1,7 +1,6 @@
- use crate::{Error, TrashContext, TrashItem};
- use std::{
-- ffi::{OsStr, OsString},
-- mem::MaybeUninit,
-+ ffi::{c_void, OsStr, OsString},
- os::windows::{ffi::OsStrExt, prelude::*},
- path::PathBuf,
- };
-@@ -66,7 +65,7 @@ impl TrashContext {
- let shi: IShellItem =
- SHCreateItemFromParsingName(PCWSTR(wide_path_slice.as_ptr()), None)?;
-
-- pfo.DeleteItem(shi, None)?;
-+ pfo.DeleteItem(&shi, None)?;
- }
- pfo.PerformOperations()?;
- Ok(())
-@@ -78,28 +77,18 @@ pub fn list() -> Result<Vec<TrashItem>, Error> {
- ensure_com_initialized();
- unsafe {
- let mut item_vec = Vec::new();
-- let mut recycle_bin = MaybeUninit::<Option<IShellItem>>::uninit();
-
-- SHGetKnownFolderItem(
-- &FOLDERID_RecycleBinFolder,
-- KF_FLAG_DEFAULT,
-- HANDLE::default(),
-- &IShellItem::IID,
-- recycle_bin.as_mut_ptr() as _,
-- )?;
--
-- let recycle_bin = recycle_bin.assume_init().ok_or(Error::Unknown {
-- description: "SHGetKnownFolderItem gave NULL for FOLDERID_RecycleBinFolder".into(),
-- })?;
-+ let recycle_bin: IShellItem =
-+ SHGetKnownFolderItem(&FOLDERID_RecycleBinFolder, KF_FLAG_DEFAULT, HANDLE::default())?;
-
- let pesi: IEnumShellItems = recycle_bin.BindToHandler(None, &BHID_EnumItems)?;
-- let mut fetched: u32 = 0;
-
- loop {
-+ let mut fetched_count: u32 = 0;
- let mut arr = [None];
-- pesi.Next(&mut arr, &mut fetched)?;
-+ pesi.Next(&mut arr, Some(&mut fetched_count as *mut u32))?;
-
-- if fetched == 0 {
-+ if fetched_count == 0 {
- break;
- }
-
-@@ -145,7 +134,7 @@ where
- at_least_one = true;
- let id_as_wide: Vec<u16> = item.id.encode_wide().chain(std::iter::once(0)).collect();
- let parsing_name = PCWSTR(id_as_wide.as_ptr());
-- let trash_item: IShellItem = SHCreateItemFromParsingName(&parsing_name, None)?;
-+ let trash_item: IShellItem = SHCreateItemFromParsingName(parsing_name, None)?;
- pfo.DeleteItem(&trash_item, None)?;
- }
- if at_least_one {
-@@ -181,7 +170,7 @@ where
- for item in items.iter() {
- let id_as_wide: Vec<u16> = item.id.encode_wide().chain(std::iter::once(0)).collect();
- let parsing_name = PCWSTR(id_as_wide.as_ptr());
-- let trash_item: IShellItem = SHCreateItemFromParsingName(&parsing_name, None)?;
-+ let trash_item: IShellItem = SHCreateItemFromParsingName(parsing_name, None)?;
- let parent_path_wide: Vec<_> =
- item.original_parent.as_os_str().encode_wide().chain(std::iter::once(0)).collect();
- let orig_folder_shi: IShellItem =
-@@ -191,7 +180,7 @@ where
- .chain(std::iter::once(0))
- .collect();
-
-- pfo.MoveItem(trash_item, orig_folder_shi, PCWSTR(name_wstr.as_ptr()), None)?;
-+ pfo.MoveItem(&trash_item, &orig_folder_shi, PCWSTR(name_wstr.as_ptr()), None)?;
- }
- if !items.is_empty() {
- pfo.PerformOperations()?;
-@@ -203,7 +192,7 @@ where
- unsafe fn get_display_name(psi: &IShellItem, sigdnname: SIGDN) -> Result<OsString, Error> {
- let name = psi.GetDisplayName(sigdnname)?;
- let result = wstr_to_os_string(name);
-- CoTaskMemFree(name.0 as _);
-+ CoTaskMemFree(Some(name.0 as *const c_void));
- Ok(result)
- }
-
-@@ -257,7 +246,7 @@ impl CoInitializer {
- if cfg!(feature = "coinit_speed_over_memory") {
- init_mode |= COINIT_SPEED_OVER_MEMORY;
- }
-- let hr = unsafe { CoInitializeEx(std::ptr::null_mut(), init_mode) };
-+ let hr = unsafe { CoInitializeEx(None, init_mode) };
- if hr.is_err() {
- panic!("Call to CoInitializeEx failed. HRESULT: {:?}. Consider using `trash` with the feature `coinit_multithreaded`", hr);
- }