@@ -4,7 +4,6 @@ use crate::ffi::{OsStr, OsString};
44use crate :: io:: ErrorKind ;
55use crate :: os:: windows:: ffi:: { OsStrExt , OsStringExt } ;
66use crate :: path:: PathBuf ;
7- use crate :: ptr;
87use crate :: time:: Duration ;
98
109pub use self :: rand:: hashmap_random_keys;
@@ -206,58 +205,6 @@ fn os2path(s: &[u16]) -> PathBuf {
206205 PathBuf :: from ( OsString :: from_wide ( s) )
207206}
208207
209- #[ allow( dead_code) ] // Only used in backtrace::gnu::get_executable_filename()
210- fn wide_char_to_multi_byte (
211- code_page : u32 ,
212- flags : u32 ,
213- s : & [ u16 ] ,
214- no_default_char : bool ,
215- ) -> crate :: io:: Result < Vec < i8 > > {
216- unsafe {
217- let mut size = c:: WideCharToMultiByte (
218- code_page,
219- flags,
220- s. as_ptr ( ) ,
221- s. len ( ) as i32 ,
222- ptr:: null_mut ( ) ,
223- 0 ,
224- ptr:: null ( ) ,
225- ptr:: null_mut ( ) ,
226- ) ;
227- if size == 0 {
228- return Err ( crate :: io:: Error :: last_os_error ( ) ) ;
229- }
230-
231- let mut buf = Vec :: with_capacity ( size as usize ) ;
232- buf. set_len ( size as usize ) ;
233-
234- let mut used_default_char = c:: FALSE ;
235- size = c:: WideCharToMultiByte (
236- code_page,
237- flags,
238- s. as_ptr ( ) ,
239- s. len ( ) as i32 ,
240- buf. as_mut_ptr ( ) ,
241- buf. len ( ) as i32 ,
242- ptr:: null ( ) ,
243- if no_default_char { & mut used_default_char } else { ptr:: null_mut ( ) } ,
244- ) ;
245- if size == 0 {
246- return Err ( crate :: io:: Error :: last_os_error ( ) ) ;
247- }
248- if no_default_char && used_default_char == c:: TRUE {
249- return Err ( crate :: io:: Error :: new (
250- crate :: io:: ErrorKind :: InvalidData ,
251- "string cannot be converted to requested code page" ,
252- ) ) ;
253- }
254-
255- buf. set_len ( size as usize ) ;
256-
257- Ok ( buf)
258- }
259- }
260-
261208pub fn truncate_utf16_at_nul ( v : & [ u16 ] ) -> & [ u16 ] {
262209 match unrolled_find_u16s ( 0 , v) {
263210 // don't include the 0
0 commit comments