diff --git a/src/util/dictionary.rs b/src/util/dictionary.rs index 69ef36c..33c9e6b 100644 --- a/src/util/dictionary.rs +++ b/src/util/dictionary.rs @@ -6,21 +6,22 @@ use ffi::*; pub struct Dictionary<'a> { pub ptr: *mut AVDictionary, - own: bool, - _marker: PhantomData<&'a i32>, + _own: bool, + _marker: PhantomData<&'a ()>, } impl<'a> Dictionary<'a> { pub fn new() -> Self { - Dictionary { ptr: ptr::null_mut(), own: true, _marker: PhantomData } + Dictionary { ptr: ptr::null_mut(), _own: true, _marker: PhantomData } } pub fn wrap(ptr: *mut AVDictionary) -> Self { - Dictionary { ptr: ptr, own: false, _marker: PhantomData } + Dictionary { ptr: ptr, _own: false, _marker: PhantomData } } pub fn take(&mut self) -> *mut AVDictionary { - self.own = false; + self._own = false; + self.ptr } } @@ -28,7 +29,7 @@ impl<'a> Dictionary<'a> { impl<'a> Drop for Dictionary<'a> { fn drop(&mut self) { unsafe { - if self.own && self.ptr != ptr::null_mut() { + if self._own && self.ptr != ptr::null_mut() { av_dict_free(&mut self.ptr); } }