¿Cómo puedo indexar matrices C en Rust?
Tengo una función C que devuelve un puntero:
type MYSQL_RES_REF = *mut c_void;
type MYSQL_ROW = *const *const c_char;
#[no_mangle]
extern "C" {
fn mysql_fetch_row(res: MYSQL_RES_REF) -> MYSQL_ROW;
}
let pointer = mysql_fetch_row(self.res);
let row_p = match pointer {
p if p == (0 as *const *const c_char) => panic!(),
p => p,
};
let field: &[u8] = unsafe { ffi::c_str_to_bytes(row_p[i]) };
pero al intentar indexarlo (la última línea) se produce un error:
error: cannot index a value of type `*const *const i8`
Me pregunto sistd::c_vec
era lo que quería, peroaparentemente eso ha sido eliminado.