Skip to content

Commit

Permalink
Fix up VOICEVOX#534
Browse files Browse the repository at this point in the history
  • Loading branch information
qryxip committed Jul 1, 2023
1 parent b8b8484 commit 0d5143b
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions crates/voicevox_core_c_api/src/slice_owner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ impl<T> SliceOwner<T> {
///
/// # Safety
///
/// - `out_ptr`は書き込みについて有効でなければならない(ただし`*mut T`は有効である必要は無い)。
/// - `out_len`は書き込みについて有効でなければならない。
/// - `out_ptr`は書き込みについて[有効]でなければならない。
/// - `out_len`は書き込みについて[有効]でなければならない。
///
/// [有効]: https://doc.rust-lang.org/stable/std/ptr/index.html#safety
pub(crate) unsafe fn own_and_lend(
&self,
slice: impl Into<Box<[T]>>,
Expand All @@ -47,8 +49,8 @@ impl<T> SliceOwner<T> {
let duplicated = slices.insert(ptr as usize, slice.into()).is_some();
assert!(!duplicated, "duplicated");

out_ptr.as_ptr().write_volatile(ptr);
out_len.as_ptr().write_volatile(len);
out_ptr.as_ptr().write_unaligned(ptr);
out_len.as_ptr().write_unaligned(len);
}

/// `own_and_lend`でC API利用者に貸し出したポインタに対応する`Box<[u8]>`をデストラクトする。
Expand Down

0 comments on commit 0d5143b

Please sign in to comment.