forked from bonsai/harakit
getopt.rs(3): better Opt return
This commit is contained in:
parent
d1b77d652b
commit
78eacd660a
@ -21,7 +21,6 @@ use std::ffi::{ c_int, c_char, CString, CStr };
|
|||||||
pub struct Opt {
|
pub struct Opt {
|
||||||
pub arg: Option<String>,
|
pub arg: Option<String>,
|
||||||
pub ind: i32,
|
pub ind: i32,
|
||||||
/* opt is set to either the current option or the one that cause an error */
|
|
||||||
pub opt: String,
|
pub opt: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +50,7 @@ impl GetOpt for Vec<String> {
|
|||||||
let opts = CString::new(optstring).unwrap().into_raw();
|
let opts = CString::new(optstring).unwrap().into_raw();
|
||||||
let len = self.len() as c_int;
|
let len = self.len() as c_int;
|
||||||
|
|
||||||
unsafe {
|
unsafe { // TODO: enable optind modification
|
||||||
match getopt(len, argv_ptr, opts) {
|
match getopt(len, argv_ptr, opts) {
|
||||||
/* From getopt(3p):
|
/* From getopt(3p):
|
||||||
*
|
*
|
||||||
@ -95,9 +94,9 @@ impl GetOpt for Vec<String> {
|
|||||||
.into_owned();
|
.into_owned();
|
||||||
|
|
||||||
Some(Ok(Opt {
|
Some(Ok(Opt {
|
||||||
arg: Some(arg),
|
arg: Some(arg), /* opt argument */
|
||||||
ind: optind,
|
ind: optind, /* opt index */
|
||||||
opt: opt.to_string(),
|
opt: opt.to_string(), /* option itself */
|
||||||
}))
|
}))
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user