|
|
|
@ -1187,6 +1187,14 @@ void yon_system_load(main_window *window){
|
|
|
|
yon_char_parsed_free(main_config.users,main_config.users_size);
|
|
|
|
yon_char_parsed_free(main_config.users,main_config.users_size);
|
|
|
|
main_config.users = yon_file_open(users_path,&main_config.users_size);
|
|
|
|
main_config.users = yon_file_open(users_path,&main_config.users_size);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (main_config.shadow_size>0){
|
|
|
|
|
|
|
|
yon_char_parsed_free(main_config.shadow,main_config.shadow_size);
|
|
|
|
|
|
|
|
main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (main_config.group_shadow_size>0){
|
|
|
|
|
|
|
|
yon_char_parsed_free(main_config.group_shadow,main_config.group_shadow_size);
|
|
|
|
|
|
|
|
main_config.group_shadow = yon_file_open(users_path,&main_config.group_shadow_size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
for (int i=0;i<main_config.groups_size;i++){
|
|
|
|
for (int i=0;i<main_config.groups_size;i++){
|
|
|
|
@ -1200,16 +1208,18 @@ void yon_system_load(main_window *window){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (int i=0;i<main_config.users_size;i++){
|
|
|
|
for (int i=0;i<main_config.users_size;i++){
|
|
|
|
int parsed_size;
|
|
|
|
int parsed_size;
|
|
|
|
|
|
|
|
int shadow_parsed_size;
|
|
|
|
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
|
|
|
|
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
|
|
|
|
|
|
|
|
config_str shadow_parsed = yon_char_parse(main_config.shadow[i],&shadow_parsed_size,":");
|
|
|
|
char *groups_string="";
|
|
|
|
char *groups_string="";
|
|
|
|
char *main_group_name="";
|
|
|
|
char *main_group_name="";
|
|
|
|
for (int j=0;j<main_config.groups_size;j++){
|
|
|
|
for (int j=0;j<main_config.groups_size;j++){
|
|
|
|
int parsed_gr_size;
|
|
|
|
int parsed_gr_size;
|
|
|
|
config_str parsed_group = yon_char_parse(main_config.groups[j],&parsed_gr_size,":");
|
|
|
|
config_str parsed_group = yon_char_parse(main_config.groups[j],&parsed_gr_size,":");
|
|
|
|
if (atol(parsed[2])==atol(parsed_group[2])){
|
|
|
|
if (atol(parsed[3])==atol(parsed_group[2])){
|
|
|
|
main_group_name=yon_char_new(parsed_group[0]);
|
|
|
|
main_group_name=yon_char_new(parsed_group[0]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (strstr(parsed_group[3],parsed[0])){
|
|
|
|
if (strstr(parsed_group[3],shadow_parsed[0])){
|
|
|
|
groups_string = yon_char_unite(groups_string,!yon_char_is_empty(groups_string)?",":"",parsed_group[0],NULL);
|
|
|
|
groups_string = yon_char_unite(groups_string,!yon_char_is_empty(groups_string)?",":"",parsed_group[0],NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_char_parsed_free(parsed_group,parsed_gr_size);
|
|
|
|
yon_char_parsed_free(parsed_group,parsed_gr_size);
|
|
|
|
|