mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 21:55:20 +00:00
main: refactored parameter parsing
CONTRIBUTING.md: removed a space to suport markdown linking Refactored cmdline and net_params arguments to use option adapters to achieve the same parsed results in a "more rusty" way. Deleted a space in the contributing markdown to link properly. Signed-off-by: Logan Saso <logansaso+tech@gmail.com>
This commit is contained in:
parent
9299502955
commit
e52132c8c8
35
src/main.rs
35
src/main.rs
@ -75,38 +75,29 @@ fn main() {
|
|||||||
.expect("Missing argument: disk");
|
.expect("Missing argument: disk");
|
||||||
let disk_path = disk_arg.as_path();
|
let disk_path = disk_arg.as_path();
|
||||||
|
|
||||||
let cmdline = if cmd_arguments.is_present("cmdline") {
|
let cmdline = cmd_arguments
|
||||||
cmd_arguments
|
|
||||||
.value_of("cmdline")
|
.value_of("cmdline")
|
||||||
.map(std::string::ToString::to_string)
|
.map(std::string::ToString::to_string)
|
||||||
.unwrap()
|
.unwrap_or_else(String::new);
|
||||||
} else {
|
|
||||||
String::new()
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut net_params = None;
|
let net_params = cmd_arguments
|
||||||
if cmd_arguments.is_present("net") {
|
.value_of("net")
|
||||||
if let Some(net) = cmd_arguments.value_of("net") {
|
.map(std::string::ToString::to_string);
|
||||||
net_params = Some(net.to_string());
|
|
||||||
} else {
|
|
||||||
net_params = Some(String::new())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let rng_path = match cmd_arguments.occurrences_of("rng") {
|
let rng_path = match cmd_arguments.occurrences_of("rng") {
|
||||||
0 => None,
|
0 => None,
|
||||||
_ => Some(cmd_arguments.value_of("rng").unwrap().to_string()),
|
_ => Some(cmd_arguments.value_of("rng").unwrap().to_string()),
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut vcpus = DEFAULT_VCPUS;
|
let vcpus = cmd_arguments
|
||||||
if let Some(cpus) = cmd_arguments.value_of("cpus") {
|
.value_of("cpus")
|
||||||
vcpus = cpus.parse::<u8>().unwrap();
|
.and_then(|c| c.parse::<u8>().ok())
|
||||||
}
|
.unwrap_or(DEFAULT_VCPUS);
|
||||||
|
|
||||||
let mut memory = DEFAULT_MEMORY;
|
let memory = cmd_arguments
|
||||||
if let Some(mem) = cmd_arguments.value_of("memory") {
|
.value_of("memory")
|
||||||
memory = mem.parse::<u64>().unwrap();
|
.and_then(|m| m.parse::<u64>().ok())
|
||||||
}
|
.unwrap_or(DEFAULT_MEMORY);
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"Cloud Hypervisor Guest\n\tvCPUs: {}\n\tMemory: {} MB\n\tKernel: {:?}\n\tKernel cmdline: {}\n\tDisk: {:?}",
|
"Cloud Hypervisor Guest\n\tvCPUs: {}\n\tMemory: {} MB\n\tKernel: {:?}\n\tKernel cmdline: {}\n\tDisk: {:?}",
|
||||||
|
Loading…
Reference in New Issue
Block a user