#include "my_device.h" device_config obj_device_config; device_config* get_device_cfg() { return &obj_device_config; } void device_disk_parsed() { char* cmd = "lsblk --fs --raw --output PATH,FSTYPE --exclude 7,11,253"; int size = 0; char** responce = yon_config_load(cmd, &size); obj_device_config.size_disk = 0; char* split_simvol = " "; for (int index = 1; index < size; index++ ) { char* disk = yon_char_divide_search(responce[index], "\n", -1); if (yon_char_find_count(disk, " ") != 0) { char* name_disk = yon_char_divide_search(disk, " ", -1); obj_device_config.name_disk = yon_char_parsed_append(obj_device_config.name_disk, &obj_device_config.size_disk, name_disk); obj_device_config.size_disk--; obj_device_config.file_system = yon_char_parsed_append(obj_device_config.file_system, &obj_device_config.size_disk, disk); obj_device_config.size_disk--; obj_device_config.mounted = yon_char_parsed_append(obj_device_config.mounted, &obj_device_config.size_disk, ""); obj_device_config.size_disk--; obj_device_config.type_dick = yon_char_parsed_append(obj_device_config.type_dick, &obj_device_config.size_disk, ""); obj_device_config.size_disk--; disk = yon_char_replace(disk," ", ""); if (strlen(disk)!=0) { char* description_disk = yon_char_unite(name_disk, split_simvol, disk, NULL); obj_device_config.description_disk = yon_char_parsed_append(obj_device_config.description_disk, &obj_device_config.size_disk, description_disk); free(description_disk); } free(name_disk); } free(disk); } philos_free_string_array(&responce, size); } void device_fill_disk(GtkWidget* combo_box_text) { for (int index = 0; index < obj_device_config.size_disk; index++) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), obj_device_config.description_disk[index]); } }