Add error handling

This commit is contained in:
Jai A
2021-07-09 20:05:04 -07:00
parent a0e35ad853
commit 54cd2f873c
12 changed files with 586 additions and 336 deletions

View File

@@ -9,16 +9,16 @@ pub fn parse_rules(rules: &[Rule]) -> bool {
pub fn parse_rule(rule: &Rule) -> bool {
let result = if let Some(os) = &rule.os {
parse_os_rule(os)
} else if let Some(feature) = &rule.feature {
} else if rule.features.is_some() {
false
} else {
true
};
return match rule.action {
match rule.action {
RuleAction::Allow => result,
RuleAction::Disallow => !result,
};
}
}
pub fn parse_os_rule(rule: &OsRule) -> bool {
@@ -42,9 +42,12 @@ pub fn parse_os_rule(rule: &OsRule) -> bool {
}
}
if let Some(version) = &rule.version {
let regex = Regex::new(version.as_str()).unwrap();
if !regex.is_match(&*sys_info::os_release().unwrap()) {
return false;
let regex = Regex::new(version.as_str());
if let Ok(regex) = regex {
if !regex.is_match(&*sys_info::os_release().unwrap_or_default()) {
return false;
}
}
}