From 28cb977316359d16201633955ce7bb8f6b27617e Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Wed, 2 Aug 2023 16:42:23 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/model/load.c | 1 + source/model/my_device.c | 22 +++++++++++++++++++--- source/model/my_device.h | 1 + 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/model/load.c b/source/model/load.c index 33bb98b..2db5d56 100644 --- a/source/model/load.c +++ b/source/model/load.c @@ -11,6 +11,7 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) { load_free_vector(_all_config, &_all_config->v_project); free_remove_vector(_all_config, &_all_config->v_remove); model_free_vector_string(&_all_config->v_disk_remove); + device_disk_parsed(); vector_init(&_all_config->v_user); vector_init(&_all_config->v_group); vector_init(&_all_config->v_project); diff --git a/source/model/my_device.c b/source/model/my_device.c index 8b05ec6..038dc79 100644 --- a/source/model/my_device.c +++ b/source/model/my_device.c @@ -9,7 +9,8 @@ vector *get_device_vec() void device_disk_parsed() { char *cmd = "findmnt -lo source,target,fstype,label,size -t ext4"; - vector_init(&vec_disk); + device_device_config_free(get_device_vec()); + vector_init(get_device_vec()); int size = 0; char **responce = yon_config_load(cmd, &size); char *split_simvol = " "; @@ -48,7 +49,7 @@ void device_disk_parsed() { obj_device_config->mounted, split_simvol, obj_device_config->type_dick, NULL); - vec_disk.pfVectorAdd(&vec_disk, obj_device_config); + get_device_vec()->pfVectorAdd(get_device_vec(), obj_device_config); philos_free_string_array(&name_disk, size_str); } free(disk); @@ -61,7 +62,7 @@ void device_fill_disk(GtkWidget *combo_box_text, vector* vec_filt) { vector vec; vector_init(&vec); - vec.pfVectorCopy(&vec, &vec_disk); + vec.pfVectorCopy(&vec, get_device_vec()); for (int i = 0; i < vec_filt->vectorList.total; i++) { disk_status* _config_disk_remove = (disk_status*)vec_filt->pfVectorGet(vec_filt, i); for (int index = 0; index < vec.vectorList.total; index++) { @@ -81,3 +82,18 @@ void device_fill_disk(GtkWidget *combo_box_text, vector* vec_filt) } } } + +void device_device_config_free() { + if (get_device_vec()) { + for (int i = 0; i < get_device_vec()->vectorList.total; i++) { + device_config* _config_disk_remove = (device_config*)get_device_vec()->pfVectorGet(get_device_vec(), i); + free(_config_disk_remove->description_disk); + free(_config_disk_remove->type_dick); + free(_config_disk_remove->mounted); + free(_config_disk_remove->file_system); + free(_config_disk_remove->name_disk); + get_device_vec()->pfVectorDelete(get_device_vec(), i); + } + } + +} \ No newline at end of file diff --git a/source/model/my_device.h b/source/model/my_device.h index 0c37c15..fcc5811 100644 --- a/source/model/my_device.h +++ b/source/model/my_device.h @@ -21,5 +21,6 @@ void device_fill_disk(GtkWidget* combo_box_text, vector* vec_filt); size_t get_mem_total(); float get_size_pow_memory(size_t size_memory, int size); size_t get_resurs_total(char* cmd); +void device_device_config_free(); #endif \ No newline at end of file