Fixed user saving

pull/235/head
Ivan Dmitrievich Yartsev 10 months ago
parent 45b9c51267
commit f39c95fe91

@ -241,6 +241,22 @@ void yon_accept_changes(){
main_config.homes_size=0;
}
char *yon_char_parsed_to_string_include_empty(config_str parsed, int parsed_size, char *divider){
if (parsed && parsed_size>0){
char *final = NULL;
char *temp;
for (int i=0;i<parsed_size;i++){
temp = yon_char_unite(final?final:"",final?divider:"",parsed[i],NULL);
if (!yon_char_is_empty(final)) free(final);
final=temp;
}
if (!yon_char_is_empty(final)){
return final;
}
} else if (parsed_size==0&&!parsed) return "";
return NULL;
}
void yon_hide_passwords(template_saving_window *window){
GtkTreeModel *model = GTK_TREE_MODEL(window->list);
GtkTreeIter iter;
@ -261,11 +277,11 @@ void yon_hide_passwords(template_saving_window *window){
free(new_value);
free(parsed[5]);
parsed[5]=yon_char_new("*******");
new_value = yon_char_parsed_to_string(parsed,size,":");
new_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
} else if (size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")) {
free(new_value);
free(yon_char_divide(parsed[5],1));
new_value = yon_char_parsed_to_string(parsed,size,":");
new_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
}
if (parsed){
yon_char_parsed_free(parsed,size);
@ -278,10 +294,10 @@ void yon_hide_passwords(template_saving_window *window){
free(old_value);
free(parsed[5]);
parsed[5]=yon_char_new("*******");
old_value = yon_char_parsed_to_string(parsed,size,":");
old_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
} else if (size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")) {
free(old_value);
old_value = yon_char_parsed_to_string(parsed,size,":");
old_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
}
if (parsed){
yon_char_parsed_free(parsed,size);
@ -306,7 +322,7 @@ void yon_hide_passwords(template_saving_window *window){
free(parsed[4]);
parsed[4]=yon_char_new("*******");
}
new_value = yon_char_parsed_to_string(parsed,size,":");
new_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
}
if(!yon_char_is_empty(old_value)){
config_str parsed = NULL;
@ -315,11 +331,11 @@ void yon_hide_passwords(template_saving_window *window){
free(old_value);
free(parsed[4]);
parsed[4]=yon_char_new("*******");
old_value = yon_char_parsed_to_string(parsed,size,":");
old_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
} else if (size>4&&!yon_char_is_empty(parsed[4])&&strcmp(parsed[4],"x")) {
free(old_value);
free(yon_char_divide(parsed[4],1));
old_value = yon_char_parsed_to_string(parsed,size,":");
old_value = yon_char_parsed_to_string_include_empty(parsed,size,":");
}
if (parsed){
yon_char_parsed_free(parsed,size);
@ -450,22 +466,7 @@ void on_config_local_save(GtkWidget *, main_window *){
if (parsed_size>5&&!yon_char_is_empty(parsed[5])){
yon_char_parsed_add_or_create_if_exists(passwords,&passw_size,yon_char_new(parsed[5]));
parsed = yon_char_parsed_rip(parsed,&parsed_size,5);
char *final_string = NULL;
{
if (parsed && parsed_size>0){
char *final = NULL;
char *temp;
for (int i=0;i<parsed_size;i++){
temp = yon_char_unite(final?final:"",final?":":"",parsed[i],NULL);
if (!yon_char_is_empty(final)) free(final);
final=temp;
}
if (!yon_char_is_empty(final)){
final_string = final;
}
} else if (parsed_size==0&&!parsed) final_string = "";
}
char *final_string = yon_char_parsed_to_string_include_empty(parsed,parsed_size,":");
char *temp = yon_char_append(final_string,":");
free(final_string);
final_string=temp;

@ -518,4 +518,5 @@ void yon_remove_confirmation_window_accept_clicked(GtkWidget *self,dictionary *d
system_remove_confirmation_window *yon_system_remove_confirmation_window_new();
void on_delete_system_user(GtkWidget *, dictionary *dict);
void on_delete_system_group(GtkWidget *, dictionary *dict);
char *yon_char_parsed_to_string_include_empty(config_str parsed, int parsed_size, char *divider);
#endif
Loading…
Cancel
Save