[libvirt] [rust PATCH v2 3/5] libvirt-rust: stream: automated lint

Zixing Liu liushuyu at aosc.io
Fri Jan 10 18:35:32 UTC 2020


On 2020-01-10 04:48, Sahid Orentino Ferdjaoui wrote:

> On Tue, Dec 24, 2019 at 12:12:53AM -0700, Zixing Liu wrote:
>> * used rustfmt to clean up the code
>>
>> Signed-off-by: Zixing Liu <liushuyu at aosc.io>
>> ---
>>  src/stream.rs | 97 +++++++++++++++++++++++++++++----------------------
>>  1 file changed, 56 insertions(+), 41 deletions(-)
> NAK, we don't have specific rule for that. Even if I'm OK with you to
> use rustfmt we should consider having CI to also check that.

Well, it's also one part of my habit since formatted code is more readable and looks neat.
Speaking of CI, I think you could integrate the format check or even commit format changes in CI using `cargo-fmt` which comes with every Rust installation.

>> diff --git a/src/stream.rs b/src/stream.rs
>> index 1ffd186..0d84fd7 100644
>> --- a/src/stream.rs
>> +++ b/src/stream.rs
>> @@ -18,8 +18,8 @@
>>  
>>  extern crate libc;
>>  
>> -use connect::Connect;
>>  use connect::sys::virConnectPtr;
>> +use connect::Connect;
>>  use std::convert::TryFrom;
>>  
>>  use error::Error;
>> @@ -33,28 +33,28 @@ pub mod sys {
>>  
>>  #[link(name = "virt")]
>>  extern "C" {
>> -    fn virStreamNew(c: virConnectPtr,
>> -                    flags: libc::c_uint)
>> -                     -> sys::virStreamPtr;
>> -    fn virStreamSend(c: sys::virStreamPtr,
>> -                     data: *const libc::c_char,
>> -                     nbytes: libc::size_t)
>> -                     -> libc::c_int;
>> -    fn virStreamRecv(c: sys::virStreamPtr,
>> -                     data: *mut libc::c_char,
>> -                     nbytes: libc::size_t)
>> -                     -> libc::c_int;
>> +    fn virStreamNew(c: virConnectPtr, flags: libc::c_uint) -> sys::virStreamPtr;
>> +    fn virStreamSend(
>> +        c: sys::virStreamPtr,
>> +        data: *const libc::c_char,
>> +        nbytes: libc::size_t,
>> +    ) -> libc::c_int;
>> +    fn virStreamRecv(
>> +        c: sys::virStreamPtr,
>> +        data: *mut libc::c_char,
>> +        nbytes: libc::size_t,
>> +    ) -> libc::c_int;
>>      fn virStreamFree(c: sys::virStreamPtr) -> libc::c_int;
>>      fn virStreamAbort(c: sys::virStreamPtr) -> libc::c_int;
>>      fn virStreamFinish(c: sys::virStreamPtr) -> libc::c_int;
>> -    fn virStreamEventAddCallback(c: sys::virStreamPtr,
>> -                         event: libc::c_int,
>> -                         callback: StreamEventCallback,
>> -                         opaque: *const libc::c_void,
>> -                         ff: FreeCallback)
>> -                         -> libc::c_int;
>> -    fn virStreamEventUpdateCallback(c: sys::virStreamPtr,
>> -                                    events: libc::c_int) -> libc::c_int;
>> +    fn virStreamEventAddCallback(
>> +        c: sys::virStreamPtr,
>> +        event: libc::c_int,
>> +        callback: StreamEventCallback,
>> +        opaque: *const libc::c_void,
>> +        ff: FreeCallback,
>> +    ) -> libc::c_int;
>> +    fn virStreamEventUpdateCallback(c: sys::virStreamPtr, events: libc::c_int) -> libc::c_int;
>>      fn virStreamEventRemoveCallback(c: sys::virStreamPtr) -> libc::c_int;
>>  }
>>  
>> @@ -71,14 +71,16 @@ pub type StreamEventCallback = extern "C" fn(sys::virStreamPtr, libc::c_int, *co
>>  pub type FreeCallback = extern "C" fn(*mut libc::c_void);
>>  
>>  // wrapper for callbacks
>> -extern "C" fn event_callback(c: sys::virStreamPtr, flags: libc::c_int, opaque: *const libc::c_void) {
>> -        let flags = flags as StreamFlags;
>> -        let shadow_self = unsafe {
>> -            &mut*(opaque as *mut Stream)
>> -        };
>> -        if let Some(callback) = &mut shadow_self.callback {
>> -            callback(&Stream::from_ptr(c), flags);
>> -        }
>> +extern "C" fn event_callback(
>> +    c: sys::virStreamPtr,
>> +    flags: libc::c_int,
>> +    opaque: *const libc::c_void,
>> +) {
>> +    let flags = flags as StreamFlags;
>> +    let shadow_self = unsafe { &mut *(opaque as *mut Stream) };
>> +    if let Some(callback) = &mut shadow_self.callback {
>> +        callback(&Stream::from_ptr(c), flags);
>> +    }
>>  }
>>  
>>  extern "C" fn event_free(_opaque: *mut libc::c_void) {}
>> @@ -93,16 +95,18 @@ impl Drop for Stream {
>>      fn drop(&mut self) {
>>          if self.ptr.is_some() {
>>              if let Err(e) = self.free() {
>> -                panic!("Unable to drop memory for Stream, code {}, message: {}",
>> -                       e.code,
>> -                       e.message)
>> +                panic!(
>> +                    "Unable to drop memory for Stream, code {}, message: {}",
>> +                    e.code, e.message
>> +                )
>>              }
>>          }
>>          if self.callback.is_some() {
>>              if let Err(e) = self.event_remove_callback() {
>> -                panic!("Unable to remove event callback for Stream, code {}, message: {}",
>> -                       e.code,
>> -                       e.message)
>> +                panic!(
>> +                    "Unable to remove event callback for Stream, code {}, message: {}",
>> +                    e.code, e.message
>> +                )
>>              }
>>          }
>>      }
>> @@ -120,7 +124,10 @@ impl Stream {
>>      }
>>  
>>      pub fn from_ptr(ptr: sys::virStreamPtr) -> Stream {
>> -        Stream { ptr: Some(ptr), callback: None }
>> +        Stream {
>> +            ptr: Some(ptr),
>> +            callback: None,
>> +        }
>>      }
>>  
>>      pub fn as_ptr(&self) -> sys::virStreamPtr {
>> @@ -160,7 +167,7 @@ impl Stream {
>>              virStreamSend(
>>                  self.as_ptr(),
>>                  data.as_ptr() as *mut libc::c_char,
>> -                data.len()
>> +                data.len(),
>>              )
>>          };
>>          usize::try_from(ret).map_err(|_| Error::new())
>> @@ -177,10 +184,20 @@ impl Stream {
>>          usize::try_from(ret).map_err(|_| Error::new())
>>      }
>>  
>> -    pub fn event_add_callback<F: 'static + FnMut(&Stream, StreamEventType)>(&mut self, events: StreamEventType, cb: F) -> Result<(), Error> {
>> +    pub fn event_add_callback<F: 'static + FnMut(&Stream, StreamEventType)>(
>> +        &mut self,
>> +        events: StreamEventType,
>> +        cb: F,
>> +    ) -> Result<(), Error> {
>>          let ret = unsafe {
>>              let ptr = &*self as *const _ as *const _;
>> -            virStreamEventAddCallback(self.as_ptr(), events as libc::c_int, event_callback, ptr, event_free)
>> +            virStreamEventAddCallback(
>> +                self.as_ptr(),
>> +                events as libc::c_int,
>> +                event_callback,
>> +                ptr,
>> +                event_free,
>> +            )
>>          };
>>          if ret == -1 {
>>              return Err(Error::new());
>> @@ -190,9 +207,7 @@ impl Stream {
>>      }
>>  
>>      pub fn event_update_callback(&self, events: StreamEventType) -> Result<(), Error> {
>> -        let ret = unsafe {
>> -            virStreamEventUpdateCallback(self.as_ptr(), events as libc::c_int)
>> -        };
>> +        let ret = unsafe { virStreamEventUpdateCallback(self.as_ptr(), events as libc::c_int) };
>>          if ret == -1 {
>>              return Err(Error::new());
>>          }
>> -- 
>> 2.24.1




More information about the libvir-list mailing list