map_err 0.1.0

map error values
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
fn is_err<T>(ptr: *mut T) -> bool {
    ptr as usize >= (-4095isize as usize)
}

pub fn map_ptr<T>(ptr: *mut T) -> Result<*mut T, i32> {
    match is_err(ptr) {
        false => Ok(ptr),
        true => Err(-(ptr as i32)),
    }
}

pub fn map_val(val: i32) -> Result<i32, i32> {
    match val {
        val @ 0.. => Ok(val),
        errno => Err(-errno),
    }
}