99// except according to those terms.
1010
1111use libc;
12+ use backtrace_sys:: { self , backtrace_state} ;
1213
1314use ffi:: CStr ;
1415use io;
@@ -39,11 +40,13 @@ where F: FnMut(&[u8], u32) -> io::Result<()>
3940 let mut fileline_win: & mut [ FileLine ] = & mut fileline_buf;
4041 let fileline_addr = & mut fileline_win as * mut & mut [ FileLine ] ;
4142 ret = unsafe {
42- backtrace_pcinfo ( state,
43- frame. exact_position as libc:: uintptr_t ,
44- pcinfo_cb,
45- error_cb,
46- fileline_addr as * mut libc:: c_void )
43+ backtrace_sys:: backtrace_pcinfo (
44+ state,
45+ frame. exact_position as libc:: uintptr_t ,
46+ pcinfo_cb,
47+ error_cb,
48+ fileline_addr as * mut libc:: c_void ,
49+ )
4750 } ;
4851 FILELINE_SIZE - fileline_win. len ( )
4952 } ;
@@ -76,11 +79,13 @@ pub fn resolve_symname<F>(frame: Frame,
7679 let mut data: * const libc:: c_char = ptr:: null ( ) ;
7780 let data_addr = & mut data as * mut * const libc:: c_char ;
7881 let ret = unsafe {
79- backtrace_syminfo ( state,
80- frame. symbol_addr as libc:: uintptr_t ,
81- syminfo_cb,
82- error_cb,
83- data_addr as * mut libc:: c_void )
82+ backtrace_sys:: backtrace_syminfo (
83+ state,
84+ frame. symbol_addr as libc:: uintptr_t ,
85+ syminfo_cb,
86+ error_cb,
87+ data_addr as * mut libc:: c_void ,
88+ )
8489 } ;
8590 if ret == 0 || data. is_null ( ) {
8691 None
@@ -93,45 +98,6 @@ pub fn resolve_symname<F>(frame: Frame,
9398 callback ( symname)
9499}
95100
96- ////////////////////////////////////////////////////////////////////////
97- // libbacktrace.h API
98- ////////////////////////////////////////////////////////////////////////
99- type backtrace_syminfo_callback =
100- extern "C" fn ( data : * mut libc:: c_void ,
101- pc : libc:: uintptr_t ,
102- symname : * const libc:: c_char ,
103- symval : libc:: uintptr_t ,
104- symsize : libc:: uintptr_t ) ;
105- type backtrace_full_callback =
106- extern "C" fn ( data : * mut libc:: c_void ,
107- pc : libc:: uintptr_t ,
108- filename : * const libc:: c_char ,
109- lineno : libc:: c_int ,
110- function : * const libc:: c_char ) -> libc:: c_int ;
111- type backtrace_error_callback =
112- extern "C" fn ( data : * mut libc:: c_void ,
113- msg : * const libc:: c_char ,
114- errnum : libc:: c_int ) ;
115- enum backtrace_state { }
116-
117- extern {
118- fn backtrace_create_state ( filename : * const libc:: c_char ,
119- threaded : libc:: c_int ,
120- error : backtrace_error_callback ,
121- data : * mut libc:: c_void )
122- -> * mut backtrace_state ;
123- fn backtrace_syminfo ( state : * mut backtrace_state ,
124- addr : libc:: uintptr_t ,
125- cb : backtrace_syminfo_callback ,
126- error : backtrace_error_callback ,
127- data : * mut libc:: c_void ) -> libc:: c_int ;
128- fn backtrace_pcinfo ( state : * mut backtrace_state ,
129- addr : libc:: uintptr_t ,
130- cb : backtrace_full_callback ,
131- error : backtrace_error_callback ,
132- data : * mut libc:: c_void ) -> libc:: c_int ;
133- }
134-
135101////////////////////////////////////////////////////////////////////////
136102// helper callbacks
137103////////////////////////////////////////////////////////////////////////
@@ -210,7 +176,11 @@ unsafe fn init_state() -> *mut backtrace_state {
210176 Err ( _) => ptr:: null ( ) ,
211177 } ;
212178
213- STATE = backtrace_create_state ( filename, 0 , error_cb,
214- ptr:: null_mut ( ) ) ;
179+ STATE = backtrace_sys:: backtrace_create_state (
180+ filename,
181+ 0 ,
182+ error_cb,
183+ ptr:: null_mut ( ) ,
184+ ) ;
215185 STATE
216186}
0 commit comments