瀏覽代碼

Removed warnings in task2

Lorenz Bung 7 年之前
父節點
當前提交
6ec0d1b4c2
共有 1 個文件被更改,包括 10 次插入12 次删除
  1. 10
    12
      hw7/task2/src/lib.rs

+ 10
- 12
hw7/task2/src/lib.rs 查看文件

@@ -1,13 +1,12 @@
1 1
 extern crate nix;
2 2
 
3 3
 use std::io::{BufRead, Write};
4
-use std::str::{FromStr, Split};
4
+use std::str::FromStr;
5 5
 use std::env;
6
-use std::os::unix::io::RawFd;
7 6
 use std::ffi::{OsString, CString};
8 7
 use nix::unistd::ForkResult::{Child, Parent};
9
-use nix::sys::wait::{wait, waitpid, WaitStatus};
10
-use nix::unistd::{dup2, close, execvp, fork, pipe, read, write};
8
+use nix::sys::wait::wait;
9
+use nix::unistd::{dup2, close, execvp, fork, pipe};
11 10
 
12 11
 mod errortype;
13 12
 
@@ -136,25 +135,24 @@ impl<R: BufRead, W: Write> Shell<R, W> {
136 135
             Command::Empty => {},
137 136
             Command::Program(cmd) => {
138 137
 
139
-                let mut commands = cmd.split('|');
138
+                let commands = cmd.split('|');
140 139
                 let commands_vec: Vec<&str> = commands.collect();
141
-                
142
-                let needs_pipe = commands_vec.len() == 2;
143 140
 
141
+                let needs_pipe = commands_vec.len() == 2;
144 142
 
145 143
 
146 144
                     let fi = fork();
147 145
                     match fi {
148
-                        Ok(Parent { child }) => {
149
-                            wait();
146
+                        Ok(Parent { child: _child }) => {
147
+                            let _ = wait();
150 148
 
151 149
                         }
152 150
                         Ok(Child) => {
153 151
                             if let Ok((reader, writer)) = pipe() {
154 152
                                 let sec = fork();
155 153
                                 match sec {
156
-                                    Ok(Parent { child }) => {
157
-                                        wait();
154
+                                    Ok(Parent { child: _child }) => {
155
+                                        let _ = wait();
158 156
                                         if let Some(second) = commands_vec.get(1) {
159 157
                                             match close(writer) {
160 158
                                                 Ok(_) => {},
@@ -190,7 +188,7 @@ impl<R: BufRead, W: Write> Shell<R, W> {
190 188
     }
191 189
 
192 190
     fn execute(&self, cmd: &str){
193
-        let mut parts:Vec<&str> = cmd.split_whitespace().collect();
191
+        let parts:Vec<&str> = cmd.split_whitespace().collect();
194 192
         let args:Vec<CString> = parts.iter().map(|f| CString::new(*f).unwrap()).collect();
195 193
         let t = args.into_boxed_slice();
196 194
 

Loading…
取消
儲存