about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-11 11:41:34 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-11 13:34:38 +0000
commit52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2 (patch)
treeb24ef9b3ea67ad8925faeb29abb612dcae7817c7
parent7f51a5ab1c6fbc316ee676c04e29abd1d9c8e615 (diff)
downloadpushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar.gz
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar.bz2
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar.lz
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar.xz
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.tar.zst
pushmail-52c8395ab09c3763cc4aaa225a7db3fc7fbeefc2.zip
Fix clippy warnings
-rw-r--r--src/main.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/main.rs b/src/main.rs
index 09c97e2..3d68b30 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -6,11 +6,12 @@ use isahc::prelude::*;
 use serde::Deserialize;
 use std::ffi::CString;
 use std::ffi::{OsStr, OsString};
-use std::io::{stderr, stdin, BufRead, BufReader, Read, Write};
+use std::io::{self, stderr, stdin, BufRead, BufReader, Read, Write};
 use std::mem::MaybeUninit;
 use std::os::unix::prelude::*;
 use std::path::Path;
 use std::process::{exit, Command, ExitStatus, Stdio};
+use std::ptr::{null, null_mut};
 use libc::{
     posix_spawn_file_actions_adddup2, posix_spawn_file_actions_init, posix_spawnp,
     waitpid
@@ -79,13 +80,13 @@ impl<S: AsRef<OsStr>> Git<S> {
         let mut file_actions = MaybeUninit::uninit();
         let r = unsafe { posix_spawn_file_actions_init(file_actions.as_mut_ptr()) };
         if r != 0 {
-            return Err(std::io::Error::from_raw_os_error(r))?;
+            return Err(io::Error::from_raw_os_error(r).into());
         }
         let mut file_actions = unsafe { file_actions.assume_init() };
 
         let r = unsafe { posix_spawn_file_actions_adddup2(&mut file_actions, fd.as_raw_fd(), 1) };
         if r != 0 {
-            return Err(std::io::Error::from_raw_os_error(r))?;
+            return Err(io::Error::from_raw_os_error(r).into());
         }
 
         let mut range = Vec::with_capacity(40 + 1);
@@ -111,7 +112,7 @@ impl<S: AsRef<OsStr>> Git<S> {
         argv.push(b"--no-patch\0" as *const _);
         argv.push(b"--format=Committer: %cn <%ce>\0" as *const _);
         argv.push(range.as_ptr());
-        argv.push(0 as *const _);
+        argv.push(null());
 
         let mut pid = MaybeUninit::uninit();
         let r = unsafe {
@@ -119,19 +120,19 @@ impl<S: AsRef<OsStr>> Git<S> {
                 pid.as_mut_ptr(),
                 argv[0] as *mut _,
                 &file_actions,
-                0 as *mut _,
+                null_mut(),
                 argv.as_mut_ptr() as *const _,
                 environ,
             )
         };
         if r != 0 {
-            return Err(std::io::Error::from_raw_os_error(r))?;
+            return Err(io::Error::from_raw_os_error(r).into());
         }
         let pid = unsafe { pid.assume_init() };
 
         let mut wstatus = MaybeUninit::uninit();
         if unsafe { waitpid(pid, wstatus.as_mut_ptr(), 0) } == -1 {
-            return Err(std::io::Error::last_os_error())?;
+            return Err(io::Error::last_os_error().into());
         }
         let wstatus = unsafe { wstatus.assume_init() };
 
@@ -372,8 +373,6 @@ impl<'a> Run<'a> {
             Err(e) => return Err(format_err!("git format-patch: {}", e)),
         }
 
-        drop(sendmail_in);
-
         match sendmail.wait().as_ref().map(ExitStatus::success) {
             Ok(true) => {}
             Ok(false) => return Err(err_msg("sendmail failed")),