public void store_id_cards () {
var key_file = new KeyFile ();
foreach (IdCard id_card in this.id_card_list) {
- string[] rules_patterns = new string[id_card.rules.length];
- string[] rules_always_conf = new string[id_card.rules.length];
+ /* workaround for Centos vala array property bug: use temp arrays */
+ var rules = id_card.rules;
+ var services = id_card.services;
+ string[] rules_patterns = new string[rules.length];
+ string[] rules_always_conf = new string[rules.length];
- for (int i=0; i<id_card.rules.length; i++) {
- rules_patterns[i] = id_card.rules[i].pattern;
- rules_always_conf[i] = id_card.rules[i].always_confirm;
+ for (int i=0; i<rules.length; i++) {
+ rules_patterns[i] = rules[i].pattern;
+ rules_always_conf[i] = rules[i].always_confirm;
}
key_file.set_string (id_card.display_name, "Issuer", id_card.issuer ?? "");
key_file.set_string (id_card.display_name, "Password", id_card.password);
else
key_file.set_string (id_card.display_name, "Password", "");
- key_file.set_string_list (id_card.display_name, "Services", id_card.services ?? {});
+ key_file.set_string_list (id_card.display_name, "Services", services ?? {});
- if (id_card.rules.length > 0) {
+ if (rules.length > 0) {
key_file.set_string_list (id_card.display_name, "Rules-Patterns", rules_patterns);
key_file.set_string_list (id_card.display_name, "Rules-AlwaysConfirm", rules_always_conf);
}