From 3d28b8b98e6e4f55ef4ecd8babf0a050f48a3d11 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 2 Nov 2015 16:23:22 -0800 Subject: std: Migrate to the new libc * Delete `sys::unix::{c, sync}` as these are now all folded into libc itself * Update all references to use `libc` as a result. * Update all references to the new flat namespace. * Moves all windows bindings into sys::c --- src/libstd/sys/windows/printing/gnu.rs | 9 +++++---- src/libstd/sys/windows/printing/msvc.rs | 35 +++++++++++++++++---------------- 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'src/libstd/sys/windows/printing') diff --git a/src/libstd/sys/windows/printing/gnu.rs b/src/libstd/sys/windows/printing/gnu.rs index e27bef0b1e9..c1367d5381d 100644 --- a/src/libstd/sys/windows/printing/gnu.rs +++ b/src/libstd/sys/windows/printing/gnu.rs @@ -11,14 +11,15 @@ #![allow(deprecated)] use dynamic_lib::DynamicLibrary; -use io; use io::prelude::*; -use libc; +use io; +use sys::c; +use libc::c_void; use sys_common::gnu::libbacktrace; -pub fn print(w: &mut Write, i: isize, addr: u64, _: &DynamicLibrary, _: libc::HANDLE) +pub fn print(w: &mut Write, i: isize, addr: u64, _: &DynamicLibrary, _: c::HANDLE) -> io::Result<()> { - let addr = addr as usize as *mut libc::c_void; + let addr = addr as usize as *mut c_void; libbacktrace::print(w, i, addr, addr) } diff --git a/src/libstd/sys/windows/printing/msvc.rs b/src/libstd/sys/windows/printing/msvc.rs index 6f1db5df7db..d04691a6a47 100644 --- a/src/libstd/sys/windows/printing/msvc.rs +++ b/src/libstd/sys/windows/printing/msvc.rs @@ -10,22 +10,23 @@ #![allow(deprecated)] -use sys_common::backtrace::{output, output_fileline}; -use ffi::CStr; use dynamic_lib::DynamicLibrary; -use super::{SymFromAddrFn, SymGetLineFromAddr64Fn, SYMBOL_INFO, MAX_SYM_NAME, IMAGEHLP_LINE64}; -use io; +use ffi::CStr; use io::prelude::*; -use intrinsics; -use libc; +use io; +use libc::{c_ulong, c_int, c_char, c_void}; +use mem; +use super::{SymFromAddrFn, SymGetLineFromAddr64Fn}; +use sys::c; +use sys_common::backtrace::{output, output_fileline}; -pub fn print(w: &mut Write, i: isize, addr: u64, dbghelp: &DynamicLibrary, process: libc::HANDLE) - -> io::Result<()> { +pub fn print(w: &mut Write, i: isize, addr: u64, dbghelp: &DynamicLibrary, + process: c::HANDLE) -> io::Result<()> { let SymFromAddr = sym!(dbghelp, "SymFromAddr", SymFromAddrFn); let SymGetLineFromAddr64 = sym!(dbghelp, "SymGetLineFromAddr64", SymGetLineFromAddr64Fn); - let mut info: SYMBOL_INFO = unsafe { intrinsics::init() }; - info.MaxNameLen = MAX_SYM_NAME as libc::c_ulong; + let mut info: c::SYMBOL_INFO = unsafe { mem::zeroed() }; + info.MaxNameLen = c::MAX_SYM_NAME as c_ulong; // the struct size in C. the value is different to // `size_of::() - MAX_SYM_NAME + 1` (== 81) // due to struct alignment. @@ -34,25 +35,25 @@ pub fn print(w: &mut Write, i: isize, addr: u64, dbghelp: &DynamicLibrary, proce let mut displacement = 0u64; let ret = SymFromAddr(process, addr, &mut displacement, &mut info); - let name = if ret == libc::TRUE { - let ptr = info.Name.as_ptr() as *const libc::c_char; + let name = if ret == c::TRUE { + let ptr = info.Name.as_ptr() as *const c_char; Some(unsafe { CStr::from_ptr(ptr).to_bytes() }) } else { None }; - try!(output(w, i, addr as usize as *mut libc::c_void, name)); + try!(output(w, i, addr as usize as *mut c_void, name)); // Now find out the filename and line number - let mut line: IMAGEHLP_LINE64 = unsafe { intrinsics::init() }; - line.SizeOfStruct = ::mem::size_of::() as u32; + let mut line: c::IMAGEHLP_LINE64 = unsafe { mem::zeroed() }; + line.SizeOfStruct = ::mem::size_of::() as u32; let mut displacement = 0u32; let ret = SymGetLineFromAddr64(process, addr, &mut displacement, &mut line); - if ret == libc::TRUE { + if ret == c::TRUE { output_fileline(w, unsafe { CStr::from_ptr(line.Filename).to_bytes() }, - line.LineNumber as libc::c_int, + line.LineNumber as c_int, false) } else { Ok(()) -- cgit 1.4.1-3-g733a5