Test fix for crash at USERADD_SYNC editing

pull/170/head
parent ab490b1ac0
commit 2c44f354d3

@ -1053,36 +1053,41 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window
} }
void on_users_boot_toggled(GtkToggleButton *self){ void on_users_boot_toggled(GtkToggleButton *self){
if (gtk_toggle_button_get_active(self)){
char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter);
if (gtk_toggle_button_get_active(self)){
if (!parameter){ if (!parameter){
yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"boot"); yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"boot");
} else { } else {
yon_config_append(USERADD_SYNC_parameter,"boot",","); char *new_str = yon_char_append(parameter,",boot");
yon_config_set(USERADD_SYNC_parameter,new_str);
free(parameter);
} }
} else { } else {
if (!strcmp(config(USERADD_SYNC_parameter),"boot")){ char *new_str = yon_char_replace(parameter,"boot","");
yon_config_remove_by_key(USERADD_SYNC_parameter); char *feasf = yon_char_replace(new_str,",","");
} else { free(new_str);
yon_config_remove_element(USERADD_SYNC_parameter,"boot",","); yon_config_set(USERADD_SYNC_parameter,feasf);
}
} }
} }
void on_users_shutdown_toggled(GtkToggleButton *self){ void on_users_shutdown_toggled(GtkToggleButton *self){
if (gtk_toggle_button_get_active(self)){
char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter);
if (gtk_toggle_button_get_active(self)){
if (!parameter){ if (!parameter){
yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"shutdown"); yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"shutdown");
} else { } else {
yon_config_append(USERADD_SYNC_parameter,"shutdown",","); char *new_str = yon_char_append(parameter,",shutdown");
yon_config_set(USERADD_SYNC_parameter,new_str);
free(parameter);
} }
} else { } else {
if (!strcmp(config(USERADD_SYNC_parameter),"shutdown")){ char *new_str = yon_char_replace(parameter,"shutdown","");
yon_config_remove_by_key(USERADD_SYNC_parameter); char *feasf = yon_char_replace(new_str,",","");
} else { free(new_str);
yon_config_remove_element(USERADD_SYNC_parameter,"shutdown",","); yon_config_set(USERADD_SYNC_parameter,feasf);
}
} }
} }

Loading…
Cancel
Save