@@ -154,7 +154,7 @@ impl FileDescription for io::Stdin {
154154 match result {
155155 Ok ( rw_bytes) =>
156156 ecx. return_read_write_success ( Some ( ptr) , Some ( & bytes) , true , rw_bytes, dest) ,
157- Err ( e) => ecx. return_read_write_error ( e, dest) ,
157+ Err ( e) => ecx. set_io_error_and_return_neg_one ( e, dest) ,
158158 }
159159 }
160160
@@ -188,7 +188,7 @@ impl FileDescription for io::Stdout {
188188 io:: stdout ( ) . flush ( ) . unwrap ( ) ;
189189 match result {
190190 Ok ( rw_bytes) => ecx. return_read_write_success ( None , None , false , rw_bytes, dest) ,
191- Err ( e) => ecx. return_read_write_error ( e, dest) ,
191+ Err ( e) => ecx. set_io_error_and_return_neg_one ( e, dest) ,
192192 }
193193 }
194194
@@ -217,7 +217,7 @@ impl FileDescription for io::Stderr {
217217 let result = Write :: write ( & mut { self } , bytes) ;
218218 match result {
219219 Ok ( rw_bytes) => ecx. return_read_write_success ( None , None , false , rw_bytes, dest) ,
220- Err ( e) => ecx. return_read_write_error ( e, dest) ,
220+ Err ( e) => ecx. set_io_error_and_return_neg_one ( e, dest) ,
221221 }
222222 }
223223
@@ -690,18 +690,4 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
690690 this. write_int ( u64:: try_from ( actual_rw_size) . unwrap ( ) , dest) ?;
691691 Ok ( ( ) )
692692 }
693-
694- /// Helper to implement `FileDescription::read/write`.
695- /// This is only used when there is a read/write error.
696- ///`-1` is written to `dest` and the last libc error is set appropriately.
697- fn return_read_write_error (
698- & mut self ,
699- err : io:: Error ,
700- dest : & MPlaceTy < ' tcx > ,
701- ) -> InterpResult < ' tcx > {
702- let this = self . eval_context_mut ( ) ;
703- this. set_last_error ( this. io_error_to_errnum ( err) ?) ?;
704- this. write_int ( -1 , dest) ?;
705- Ok ( ( ) )
706- }
707693}
0 commit comments