getopt.rs(3): fixes formatting issues
This commit is contained in:
parent
07a2f1efc2
commit
a3bbad467e
@ -79,8 +79,8 @@ pub trait GetOpt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl GetOpt for Vec<String> {
|
impl GetOpt for Vec<String> {
|
||||||
fn getopt(&self, optstring: &str) -> Option<Opt> {
|
fn getopt(&self, optstring: &str) -> Option<Opt> {
|
||||||
let c_strings: Vec<_> = self
|
let c_strings: Vec<_> = self
|
||||||
.iter()
|
.iter()
|
||||||
.cloned()
|
.cloned()
|
||||||
.map(|x| CString::new(x).unwrap().into_raw())
|
.map(|x| CString::new(x).unwrap().into_raw())
|
||||||
@ -91,11 +91,11 @@ impl GetOpt for Vec<String> {
|
|||||||
let argv = boxed as *const *mut c_char;
|
let argv = boxed as *const *mut c_char;
|
||||||
|
|
||||||
/* operations are separated out so that everything lives long enough */
|
/* operations are separated out so that everything lives long enough */
|
||||||
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 {
|
||||||
let ret = match getopt(len, argv, opts) {
|
let ret = match getopt(len, argv, opts) {
|
||||||
/* From getopt(3p):
|
/* From getopt(3p):
|
||||||
*
|
*
|
||||||
* The getopt() function shall return the next option character
|
* The getopt() function shall return the next option character
|
||||||
@ -141,8 +141,8 @@ impl GetOpt for Vec<String> {
|
|||||||
* argv[optind] points to the string "--"
|
* argv[optind] points to the string "--"
|
||||||
*
|
*
|
||||||
* getopt() shall return -1 after incrementing optind. */
|
* getopt() shall return -1 after incrementing optind. */
|
||||||
-1 => return None,
|
-1 => return None,
|
||||||
opt => {
|
opt => {
|
||||||
let arg: Option<String>;
|
let arg: Option<String>;
|
||||||
|
|
||||||
if optarg.is_null() { arg = None; }
|
if optarg.is_null() { arg = None; }
|
||||||
@ -162,13 +162,13 @@ impl GetOpt for Vec<String> {
|
|||||||
opt: Ok((opt as u8 as char).to_string()),
|
opt: Ok((opt as u8 as char).to_string()),
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* delloc argv (something online said I should do this) */
|
/* delloc argv (something online said I should do this) */
|
||||||
let _ = Box::from_raw(boxed);
|
let _ = Box::from_raw(boxed);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* tests (good) */
|
/* tests (good) */
|
||||||
|
Loading…
Reference in New Issue
Block a user