alpm 0.5.2

Rust bindings for libalpm
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::cmp::Ordering;
use std::ffi::CString;

use alpm_sys::*;

pub fn vercmp<S: Into<String>>(a: S, b: S) -> Ordering {
    let a = CString::new(a.into()).unwrap();
    let b = CString::new(b.into()).unwrap();
    let ret = unsafe { alpm_pkg_vercmp(a.as_ptr(), b.as_ptr()) };

    if ret < 0 {
        Ordering::Less
    } else if ret > 0 {
        Ordering::Greater
    } else {
        Ordering::Equal
    }
}