parent
196dfbe84e
commit
5610361769
@ -1,74 +1,65 @@
|
||||
#include "my_device.h"
|
||||
|
||||
device_config obj_device_config;
|
||||
vector vec_disk;
|
||||
|
||||
device_config *get_device_cfg()
|
||||
vector *get_device_vec()
|
||||
{
|
||||
return &obj_device_config;
|
||||
return &vec_disk;
|
||||
}
|
||||
|
||||
void device_disk_parsed() {
|
||||
// findmnt -lo source,target,fstype,label -t ext4
|
||||
char *cmd = "lsblk --fs --raw --output PATH,FSTYPE --exclude 7,11,253";
|
||||
char *cmd = "findmnt -lo source,target,fstype,label -t ext4";
|
||||
vector_init(&vec_disk);
|
||||
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)
|
||||
if (yon_char_find_count(disk, " ") != 0 && !strstr(disk, "zram") && !strstr(disk, "["))
|
||||
{
|
||||
int size_str = 0;
|
||||
char* str_info = yon_char_parse(disk, size_str, ' ');
|
||||
char** name_disk = yon_char_divide_search(disk, " ", -1);
|
||||
char** name_disk = yon_char_parse(disk, &size_str, " ");
|
||||
int flag = 0;
|
||||
device_config* obj_device_config = malloc(sizeof(device_config));
|
||||
for (int index_1 = 0; index_1 < size_str; index_1++) {
|
||||
if (!strstr(name_disk[index_1], " ")) {
|
||||
flag+=1;
|
||||
if (strlen(name_disk[index_1])) {
|
||||
if (flag == 0) {
|
||||
obj_device_config.name_disk = yon_char_new(name_disk[index_1])
|
||||
obj_device_config->name_disk = yon_char_new(name_disk[index_1]);
|
||||
}
|
||||
if (flag == 1) {
|
||||
|
||||
else if (flag == 1) {
|
||||
obj_device_config->mounted = yon_char_new(name_disk[index_1]);
|
||||
}
|
||||
if (flag == 2) {
|
||||
|
||||
else if (flag == 2) {
|
||||
obj_device_config->file_system = yon_char_new(name_disk[index_1]);
|
||||
}
|
||||
if (flag == 3) {
|
||||
|
||||
else if (flag == 3) {
|
||||
obj_device_config->type_dick = yon_char_new(name_disk[index_1]);
|
||||
}
|
||||
flag+=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,
|
||||
obj_device_config->description_disk = yon_char_unite(obj_device_config->name_disk,split_simvol,
|
||||
obj_device_config->file_system,
|
||||
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);
|
||||
obj_device_config->mounted,
|
||||
split_simvol,
|
||||
obj_device_config->type_dick, NULL);
|
||||
vec_disk.pfVectorAdd(&vec_disk, obj_device_config);
|
||||
philos_free_string_array(&name_disk, size_str);
|
||||
}
|
||||
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++)
|
||||
if (vec_disk.vectorList.total > 0) {
|
||||
for (int index = 0; index < vec_disk.vectorList.total; index++)
|
||||
{
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), obj_device_config.description_disk[index]);
|
||||
device_config* obj_device_config = (device_config*)vec_disk.pfVectorGet(&vec_disk, index);
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), yon_char_new(obj_device_config->description_disk));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue