Fixed main components page crash without root

pull/270/head
parent 0779f146ca
commit 32c986e9ca

@ -142,32 +142,34 @@ os_row *yon_os_row_new(){
void *yon_modules_list_load(main_window *widgets){
int size;
config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size);
for(int i=1;i<size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
int parsed_size=0;
config_str parsed = NULL;
parsed = yon_char_parse(modules[i],&parsed_size,";");
struct row_data *row = malloc(sizeof(struct row_data));
row->version = parsed[3];
row->name = parsed[1];
row->tags = yon_char_replace(parsed[2]," ",", ");
row->description = parsed[5];
row->widgets=widgets;
row->source = parsed[0];
char sizemod;
char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod));
char *size_str = yon_size_get_name_from_letter(sizemod);
row->size = yon_char_unite(temp," ", size_str,NULL);
free(temp);
g_idle_add((GSourceFunc)yon_os_component_insert,row);
if (!getuid()||!yon_char_is_empty(config(source_parameter))){ return 0;
int size;
config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size);
for(int i=1;i<size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
int parsed_size=0;
config_str parsed = NULL;
parsed = yon_char_parse(modules[i],&parsed_size,";");
struct row_data *row = malloc(sizeof(struct row_data));
row->version = parsed[3];
row->name = parsed[1];
row->tags = yon_char_replace(parsed[2]," ",", ");
row->description = parsed[5];
row->widgets=widgets;
row->source = parsed[0];
char sizemod;
char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod));
char *size_str = yon_size_get_name_from_letter(sizemod);
row->size = yon_char_unite(temp," ", size_str,NULL);
free(temp);
g_idle_add((GSourceFunc)yon_os_component_insert,row);
}
if (main_config.modules_size) yon_char_parsed_free(main_config.modules,main_config.modules_size);
main_config.modules = modules;
main_config.modules_size = size;
}
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
if (main_config.modules_size) yon_char_parsed_free(main_config.modules,main_config.modules_size);
main_config.modules = modules;
main_config.modules_size = size;
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
g_thread_exit(NULL);
}

Loading…
Cancel
Save