remove unsafe code
This commit is contained in:
		
							parent
							
								
									305a9c66a6
								
							
						
					
					
						commit
						1bf37eb890
					
				
					 1 changed files with 11 additions and 19 deletions
				
			
		
							
								
								
									
										26
									
								
								src/lib.rs
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								src/lib.rs
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -70,7 +70,7 @@ pub struct Args {
 | 
			
		|||
#[allow(dead_code)]
 | 
			
		||||
pub struct ServiceResult<'a> {
 | 
			
		||||
    pub success: bool,
 | 
			
		||||
    buf: &'static mut [i32],
 | 
			
		||||
    buf: &'a mut [i32],
 | 
			
		||||
    pub rets: &'a [i32],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -145,15 +145,10 @@ macro_rules! call_method {
 | 
			
		|||
/// a macro for creating a ServiceResult struct, used with the `call!` macro
 | 
			
		||||
#[macro_export]
 | 
			
		||||
macro_rules! service_result {
 | 
			
		||||
    ($nargs:expr, $nrets:expr) => { unsafe {
 | 
			
		||||
        static mut BUF: [i32; $nargs + $nrets] = [0; $nargs + $nrets];
 | 
			
		||||
        let rets: &[i32] = &[];
 | 
			
		||||
        let results = $crate::ServiceResult {
 | 
			
		||||
    ($nargs:expr, $nrets:expr) => { $crate::ServiceResult {
 | 
			
		||||
        success: false,
 | 
			
		||||
            buf: &mut BUF,
 | 
			
		||||
            rets,
 | 
			
		||||
        };
 | 
			
		||||
        results
 | 
			
		||||
        buf: &mut [0; $nargs + $nrets],
 | 
			
		||||
        rets: &[],
 | 
			
		||||
    }};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,16 +156,13 @@ macro_rules! service_result {
 | 
			
		|||
/// a macro for creating a ServiceResult struct, used with the `call_method!` macro
 | 
			
		||||
#[macro_export]
 | 
			
		||||
macro_rules! method_service_result {
 | 
			
		||||
    ($nargs:expr, $nrets:expr) => { unsafe {
 | 
			
		||||
        static mut BUF: [i32; $nargs + $nrets + 1] = [0; $nargs + $nrets + 1];
 | 
			
		||||
        let rets: &[i32] = &[];
 | 
			
		||||
        let results = $crate::ServiceResult {
 | 
			
		||||
    ($nargs:expr, $nrets:expr) => {
 | 
			
		||||
        $crate::ServiceResult {
 | 
			
		||||
            success: false,
 | 
			
		||||
            buf: &mut BUF,
 | 
			
		||||
            rets,
 | 
			
		||||
            buf: &mut [0; $nargs + $nrets + 1],
 | 
			
		||||
            rets: &[],
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
        results
 | 
			
		||||
    }};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// # ofw_call
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue