mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-03-15 15:39:09 +01:00
Merge pull request #2563 from tnull/2023-09-kvstore-followups
`KVStore` upstreaming followups
This commit is contained in:
commit
8de886199b
2 changed files with 13 additions and 7 deletions
|
@ -26,7 +26,7 @@ macro_rules! call {
|
|||
}
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
fn path_to_windows_str<T: AsRef<OsStr>>(path: T) -> Vec<u16> {
|
||||
fn path_to_windows_str<T: AsRef<OsStr>>(path: &T) -> Vec<u16> {
|
||||
path.as_ref().encode_wide().chain(Some(0)).collect()
|
||||
}
|
||||
|
||||
|
@ -164,8 +164,8 @@ impl KVStore for FilesystemStore {
|
|||
let res = if dest_file_path.exists() {
|
||||
call!(unsafe {
|
||||
windows_sys::Win32::Storage::FileSystem::ReplaceFileW(
|
||||
path_to_windows_str(dest_file_path.clone()).as_ptr(),
|
||||
path_to_windows_str(tmp_file_path).as_ptr(),
|
||||
path_to_windows_str(&dest_file_path).as_ptr(),
|
||||
path_to_windows_str(&tmp_file_path).as_ptr(),
|
||||
std::ptr::null(),
|
||||
windows_sys::Win32::Storage::FileSystem::REPLACEFILE_IGNORE_MERGE_ERRORS,
|
||||
std::ptr::null_mut() as *const core::ffi::c_void,
|
||||
|
@ -175,8 +175,8 @@ impl KVStore for FilesystemStore {
|
|||
} else {
|
||||
call!(unsafe {
|
||||
windows_sys::Win32::Storage::FileSystem::MoveFileExW(
|
||||
path_to_windows_str(tmp_file_path).as_ptr(),
|
||||
path_to_windows_str(dest_file_path.clone()).as_ptr(),
|
||||
path_to_windows_str(&tmp_file_path).as_ptr(),
|
||||
path_to_windows_str(&dest_file_path).as_ptr(),
|
||||
windows_sys::Win32::Storage::FileSystem::MOVEFILE_WRITE_THROUGH
|
||||
| windows_sys::Win32::Storage::FileSystem::MOVEFILE_REPLACE_EXISTING,
|
||||
)
|
||||
|
@ -263,8 +263,8 @@ impl KVStore for FilesystemStore {
|
|||
|
||||
call!(unsafe {
|
||||
windows_sys::Win32::Storage::FileSystem::MoveFileExW(
|
||||
path_to_windows_str(dest_file_path).as_ptr(),
|
||||
path_to_windows_str(trash_file_path.clone()).as_ptr(),
|
||||
path_to_windows_str(&dest_file_path).as_ptr(),
|
||||
path_to_windows_str(&trash_file_path).as_ptr(),
|
||||
windows_sys::Win32::Storage::FileSystem::MOVEFILE_WRITE_THROUGH
|
||||
| windows_sys::Win32::Storage::FileSystem::MOVEFILE_REPLACE_EXISTING,
|
||||
)
|
||||
|
|
|
@ -216,6 +216,12 @@ where
|
|||
for stored_key in kv_store.list(
|
||||
CHANNEL_MONITOR_PERSISTENCE_NAMESPACE, CHANNEL_MONITOR_PERSISTENCE_SUB_NAMESPACE)?
|
||||
{
|
||||
if stored_key.len() < 66 {
|
||||
return Err(io::Error::new(
|
||||
io::ErrorKind::InvalidData,
|
||||
"Stored key has invalid length"));
|
||||
}
|
||||
|
||||
let txid = Txid::from_hex(stored_key.split_at(64).0).map_err(|_| {
|
||||
io::Error::new(io::ErrorKind::InvalidData, "Invalid tx ID in stored key")
|
||||
})?;
|
||||
|
|
Loading…
Add table
Reference in a new issue