Browse Source

Removed warnings in task2

Lorenz Bung 7 years ago
parent
commit
6ec0d1b4c2
1 changed files with 10 additions and 12 deletions
  1. 10
    12
      hw7/task2/src/lib.rs

+ 10
- 12
hw7/task2/src/lib.rs View File

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

Loading…
Cancel
Save