Fixed installed drivers check

pull/116/head
parent c42a451987
commit bb36ce4339
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -1101,11 +1101,21 @@ void *yon_proprietary_local_get(main_window *widgets){
for (int i=0;i<packages_size;i++){ for (int i=0;i<packages_size;i++){
yon_char_remove_last_symbol(packages[i],'\n'); yon_char_remove_last_symbol(packages[i],'\n');
g_hash_table_add(table,packages[i]); g_hash_table_add(table,packages[i]);
printf("%s\n",packages[i]);
} }
free(packages); free(packages);
} }
int installed_size;
config_str installed_packages = yon_config_load(yon_get_add_installed_packages,&installed_size);
GHashTable *installed = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL);
if (installed_packages){
for (int i=0;i<installed_size;i++){
yon_char_remove_last_symbol(installed_packages[i],'\n');
g_hash_table_add(installed,installed_packages[i]);
}
free(installed_packages);
}
g_idle_add((GSourceFunc)yon_proprietary_disconnect,widgets); g_idle_add((GSourceFunc)yon_proprietary_disconnect,widgets);
for (int dr_desc=1;dr_desc<size;dr_desc++){ for (int dr_desc=1;dr_desc<size;dr_desc++){
int current_size; int current_size;
@ -1116,8 +1126,8 @@ void *yon_proprietary_local_get(main_window *widgets){
g_hash_table_contains(table,current[1]))|| g_hash_table_contains(table,current[1]))||
(!yon_char_is_empty(current[2])&& (!yon_char_is_empty(current[2])&&
g_hash_table_contains(table,current[2]))){ g_hash_table_contains(table,current[2]))){
int module_status = !yon_char_is_empty(current[1])?yon_char_parsed_check_exist(kernels_installed,kernels_size,current[1])>-1:0; int module_status = !yon_char_is_empty(current[1])?g_hash_table_contains(installed,current[1]):0;
int package_status = !yon_char_is_empty(current[2])?yon_char_parsed_check_exist(kernels_installed,kernels_size,current[2])>-1:0; int package_status = !yon_char_is_empty(current[2])?g_hash_table_contains(installed,current[2]):0;
struct proprietary_struct *cur = malloc(sizeof(struct proprietary_struct)); struct proprietary_struct *cur = malloc(sizeof(struct proprietary_struct));
cur->drivers=current; cur->drivers=current;
cur->drivers_size=current_size; cur->drivers_size=current_size;
@ -1133,6 +1143,7 @@ void *yon_proprietary_local_get(main_window *widgets){
} }
} }
g_hash_table_unref(table); g_hash_table_unref(table);
g_hash_table_unref(installed);
if (!size){ if (!size){
g_idle_add((GSourceFunc)yon_proprietary_connect,widgets); g_idle_add((GSourceFunc)yon_proprietary_connect,widgets);
} }

@ -60,6 +60,7 @@
#define yon_get_is_installed_command(target) yon_char_append("pacman -Q ",target) #define yon_get_is_installed_command(target) yon_char_append("pacman -Q ",target)
#define yon_get_is_exist_command(target) yon_char_append("pacman -Ss ",target) #define yon_get_is_exist_command(target) yon_char_append("pacman -Ss ",target)
#define yon_get_all_pacman_packages_command "pacman -Slq" #define yon_get_all_pacman_packages_command "pacman -Slq"
#define yon_get_add_installed_packages "pacman -Qq"
#define get_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ,_]{1,}\"|sed 's/: /=/g'|sed 's/ /-/g'" #define get_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ,_]{1,}\"|sed 's/: /=/g'|sed 's/ /-/g'"
#define get_adapter_info_json "lshw -c display -quiet -json" #define get_adapter_info_json "lshw -c display -quiet -json"

Loading…
Cancel
Save