Merge pull request #139 from michaelherger/rustify

Rustify some recent changes according to plietar
This commit is contained in:
Sasha Hilton 2018-02-12 00:59:06 +01:00 committed by GitHub
commit 2617a9cfe2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 24 deletions

2
.gitignore vendored
View file

@ -2,3 +2,5 @@ target
.cargo .cargo
spotify_appkey.key spotify_appkey.key
.vagrant/ .vagrant/
.project
.history

View file

@ -215,7 +215,7 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String, port
let serve = { let serve = {
let http = Http::new(); let http = Http::new();
debug!("Zeroconf server listening on 0.0.0.0:{}", port); debug!("Zeroconf server listening on 0.0.0.0:{}", port);
http.serve_addr_handle(&format!("0.0.0.0:{}", port).parse().unwrap(), &handle, move || Ok(discovery.clone())).unwrap() http.serve_addr_handle(&format!("0.0.0.0:{}", port).parse().unwrap(), &handle, move || Ok(discovery.clone())).expect("Unable to bind Zeroconf to port")
}; };
let s_port = serve.incoming_ref().local_addr().port(); let s_port = serve.incoming_ref().local_addr().port();

View file

@ -101,7 +101,7 @@ fn setup(args: &[String]) -> Setup {
.optopt("", "device", "Audio device to use. Use '?' to list options", "DEVICE") .optopt("", "device", "Audio device to use. Use '?' to list options", "DEVICE")
.optopt("", "mixer", "Mixer to use", "MIXER") .optopt("", "mixer", "Mixer to use", "MIXER")
.optopt("", "initial-volume", "Initial volume in %, once connected (must be from 0 to 100)", "VOLUME") .optopt("", "initial-volume", "Initial volume in %, once connected (must be from 0 to 100)", "VOLUME")
.optopt("z", "zeroconf-port", "The port the internal server advertised over zeroconf uses.", "ZEROCONF_PORT"); .optopt("", "zeroconf-port", "The port the internal server advertised over zeroconf uses.", "ZEROCONF_PORT");
let matches = match opts.parse(&args[1..]) { let matches = match opts.parse(&args[1..]) {
Ok(m) => m, Ok(m) => m,
@ -135,30 +135,21 @@ fn setup(args: &[String]) -> Setup {
let mixer = mixer::find(mixer_name.as_ref()) let mixer = mixer::find(mixer_name.as_ref())
.expect("Invalid mixer"); .expect("Invalid mixer");
let initial_volume: i32; let initial_volume = matches
if matches.opt_present("initial-volume") && matches.opt_str("initial-volume").unwrap().parse::<i32>().is_ok() { .opt_str("initial-volume")
let iv = matches.opt_str("initial-volume").unwrap().parse::<i32>().unwrap(); .map(|volume| {
match iv { let volume = volume.parse::<i32>().unwrap();
iv if iv >= 0 && iv <= 100 => { initial_volume = iv * 0xFFFF / 100 } if volume < 0 || volume > 100 {
_ => { panic!("Initial volume must be in the range 0-100");
debug!("Volume needs to be a value from 0-100; set volume level to 50%");
initial_volume = 0x8000;
}
}
} else {
initial_volume = 0x8000;
} }
volume * 0xFFFF / 100
})
.unwrap_or(0x8000);
let zeroconf_port: u16; let zeroconf_port =
if matches.opt_present("zeroconf-port") && matches.opt_str("zeroconf-port").unwrap().parse::<u16>().is_ok() { matches.opt_str("zeroconf-port")
let z = matches.opt_str("zeroconf-port").unwrap().parse::<u16>().unwrap(); .map(|port| port.parse::<u16>().unwrap())
match z { .unwrap_or(0);
z if z >= 1024 => { zeroconf_port = z }
_ => { zeroconf_port = 0 }
}
} else {
zeroconf_port = 0
}
let name = matches.opt_str("name").unwrap(); let name = matches.opt_str("name").unwrap();
let use_audio_cache = !matches.opt_present("disable-audio-cache"); let use_audio_cache = !matches.opt_present("disable-audio-cache");