- let vfile = std::fs::File::open(dir.join("votes"))?;
- for liner in std::io::BufReader::new(vfile).lines() {
- let line = liner?;
- if let Some((voter, datum)) = line.split_once(' ') {
- if voter.len() == COOKIE_LENGTH {
- if let Some((vote, candidate)) = datum.split_once(' ') {
- if vote == "0" {
- if let Some(entry) = tally.get_mut(candidate) {
- entry.remove(voter);
+ if let Ok(vfile) = std::fs::File::open(dir.join("votes")) {
+ for liner in std::io::BufReader::new(vfile).lines() {
+ let line = liner?;
+ if let Some((voter, datum)) = line.split_once(' ') {
+ if voter.len() == COOKIE_LENGTH {
+ if let Some((vote, candidate)) = datum.split_once(' ') {
+ if vote == "0" {
+ if let Some(entry) = tally.get_mut(candidate) {
+ entry.remove(voter);
+ }
+ } else if vote == "1" {
+ tally
+ .entry(candidate.to_owned())
+ .or_default()
+ .insert(voter.to_owned());