@@ -62,7 +62,7 @@ impl Error {
6262
6363cfg_if ! {
6464 if #[ cfg( unix) ] {
65- fn os_err_desc ( errno: i32 , buf: & mut [ u8 ] ) -> Option <& str > {
65+ fn os_err ( errno: i32 , buf: & mut [ u8 ] ) -> Option <& str > {
6666 let buf_ptr = buf. as_mut_ptr( ) as * mut libc:: c_char;
6767 if unsafe { libc:: strerror_r( errno, buf_ptr, buf. len( ) ) } != 0 {
6868 return None ;
@@ -74,12 +74,11 @@ cfg_if! {
7474 core:: str :: from_utf8( & buf[ ..idx] ) . ok( )
7575 }
7676 } else if #[ cfg( target_os = "wasi" ) ] {
77- fn os_err_desc( errno: i32 , _buf: & mut [ u8 ] ) -> Option <& str > {
78- core:: num:: NonZeroU16 :: new( errno as u16 )
79- . and_then( wasi:: wasi_unstable:: error_str)
77+ fn os_err( errno: i32 , _buf: & mut [ u8 ] ) -> Option <wasi:: Error > {
78+ wasi:: Error :: from_raw_error( errno as _)
8079 }
8180 } else {
82- fn os_err_desc ( _errno: i32 , _buf: & mut [ u8 ] ) -> Option <& str > {
81+ fn os_err ( _errno: i32 , _buf: & mut [ u8 ] ) -> Option <& str > {
8382 None
8483 }
8584 }
@@ -91,8 +90,8 @@ impl fmt::Debug for Error {
9190 if let Some ( errno) = self . raw_os_error ( ) {
9291 dbg. field ( "os_error" , & errno) ;
9392 let mut buf = [ 0u8 ; 128 ] ;
94- if let Some ( desc ) = os_err_desc ( errno, & mut buf) {
95- dbg. field ( "description" , & desc ) ;
93+ if let Some ( err ) = os_err ( errno, & mut buf) {
94+ dbg. field ( "description" , & err ) ;
9695 }
9796 } else if let Some ( desc) = internal_desc ( * self ) {
9897 dbg. field ( "internal_code" , & self . 0 . get ( ) ) ;
@@ -108,8 +107,8 @@ impl fmt::Display for Error {
108107 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
109108 if let Some ( errno) = self . raw_os_error ( ) {
110109 let mut buf = [ 0u8 ; 128 ] ;
111- match os_err_desc ( errno, & mut buf) {
112- Some ( desc ) => f . write_str ( desc ) ,
110+ match os_err ( errno, & mut buf) {
111+ Some ( err ) => err . fmt ( f ) ,
113112 None => write ! ( f, "OS Error: {}" , errno) ,
114113 }
115114 } else if let Some ( desc) = internal_desc ( * self ) {
0 commit comments