Refactor a bit more for the multi output feature.

This commit is contained in:
Oleksandr Kozachuk
2022-12-14 16:40:42 +01:00
parent 680112384d
commit f41200050e
+9 -6
View File
@@ -154,10 +154,9 @@ impl<'a> LKEval<'a> {
fn cmd_enc(&self, out: &mut Vec<String>, name: &String) { fn cmd_enc(&self, out: &mut Vec<String>, name: &String) {
let root_folder = Rc::new("/".to_string()); let root_folder = Rc::new("/".to_string());
if name == "/" && self.state.borrow().secrets.contains_key(&root_folder) { let pass = if name == "/" && self.state.borrow().secrets.contains_key(&root_folder) {
out.push(self.state.borrow().secrets.get(&root_folder).unwrap().to_string()); self.state.borrow().secrets.get(&root_folder).unwrap().to_string()
return; } else {
}
let pwd = match self.get_password(name) { let pwd = match self.get_password(name) {
Some(p) => p.clone(), Some(p) => p.clone(),
None => { None => {
@@ -166,12 +165,16 @@ impl<'a> LKEval<'a> {
} }
}; };
let name = pwd.borrow().name.clone(); let name = pwd.borrow().name.clone();
let pass = if self.state.borrow().secrets.contains_key(&name) { if self.state.borrow().secrets.contains_key(&name) {
self.state.borrow().secrets.get(&name).unwrap().to_string() self.state.borrow().secrets.get(&name).unwrap().to_string()
} else { } else {
match self.read_master(pwd.clone(), true) { match self.read_master(pwd.clone(), true) {
Some(sec) => pwd.borrow().encode(sec.as_str()), Some(sec) => pwd.borrow().encode(sec.as_str()),
None => { out.push(format!("error: master for {} not found", pwd.borrow().name)); return; } None => {
out.push(format!("error: master for {} not found", pwd.borrow().name));
return;
}
}
} }
}; };
out.push(pass); out.push(pass);