Исправлены ошибки загрузки конфигурации

pull/24/head
Igor Belitskiy 2 years ago
parent bd7d08ed34
commit 2d57c81c0f

@ -23,8 +23,23 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) {
char* str_value = str_key_value; char* str_value = str_key_value;
if (strstr(str_value, "enable") || strstr(str_value, "disable")) { if (strstr(str_value, "enable") || strstr(str_value, "disable")) {
disk_status* disk_cfg = malloc(sizeof(disk_status)); disk_status* disk_cfg = malloc(sizeof(disk_status));
disk_cfg->deferring_size = 0;
disk_cfg->deferring_file = 0;
load_pars_values_status(disk_cfg, str_key, str_value); load_pars_values_status(disk_cfg, str_key, str_value);
_all_config->v_disk_status.pfVectorAdd(&_all_config->v_disk_status, disk_cfg); _all_config->v_disk_status.pfVectorAdd(&_all_config->v_disk_status, disk_cfg);
for (int index = 0; index < get_device_vec()->vectorList.total; index++) {
device_config* _config_disk = (device_config*)get_device_vec()->pfVectorGet(get_device_vec(), index);
for (int j=0; j < _all_config->v_disk_status.vectorList.total;j++) {
disk_status* config_disk_status = (disk_status*)_all_config->v_disk_status.pfVectorGet(&_all_config->v_disk_status, j);
if (strstr(config_disk_status->device, _config_disk->name_disk)) {
config_disk_status->device = _config_disk->name_disk;
config_disk_status->fs = _config_disk->file_system;
config_disk_status->mount_point = _config_disk->mounted;
config_disk_status->name = _config_disk->type_dick;
}
}
}
} }
else { else {
config_u_g_p* _config = malloc(sizeof(config_u_g_p)); config_u_g_p* _config = malloc(sizeof(config_u_g_p));
@ -173,20 +188,8 @@ void load_pars_values(config_u_g_p* _config, config_all* _all_config, char* str_
config_disk_status->deferring_size = _config->deferring_size; config_disk_status->deferring_size = _config->deferring_size;
} }
} }
for (int index = 0; index < get_device_vec()->vectorList.total; index++) {
device_config* _config_disk = (device_config*)get_device_vec()->pfVectorGet(get_device_vec(), index);
for (int j=0; j < _all_config->v_disk_status.vectorList.total;j++) {
disk_status* config_disk_status = (disk_status*)_all_config->v_disk_status.pfVectorGet(&_all_config->v_disk_status, j);
if (strstr(config_disk_status->device, _config_disk->name_disk)) {
config_disk_status->device = _config_disk->name_disk;
config_disk_status->fs = _config_disk->file_system;
config_disk_status->mount_point = _config_disk->mounted;
config_disk_status->name = _config_disk->type_dick;
} }
}
}
}
else { else {
} }

@ -625,15 +625,18 @@ char *yon_char_replace(char *source, char *find, char*replace){
*/ */
char **yon_char_parse(char *parameters, int *size, char *divider){ char **yon_char_parse(char *parameters, int *size, char *divider){
char **string=NULL; char **string=NULL;
if (!strstr(parameters, divider)) {
return NULL;
}
int i=1; int i=1;
string=malloc(sizeof(char*)); string=malloc(sizeof(char*));
char *paramline=yon_char_new(parameters); char *paramline=yon_char_new(parameters);
char *param; char *param;
while ((param=yon_char_divide_search(paramline,divider,1))){ while ((param=yon_char_divide_search(paramline,divider,1))){
if (strcmp(param,paramline)==0) break;
string=realloc(string,sizeof(char*)*i); string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(param); string[i-1]=yon_char_new(param);
i++; i++;
if (strcmp(param,paramline)==0) break;
} }
string=realloc(string,sizeof(char*)*i); string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(paramline); string[i-1]=yon_char_new(paramline);

@ -483,11 +483,17 @@ void get_add_gui_data_base(config_all* all_config) {
char** name_disk = yon_char_parse(str_user, &size_str, ","); char** name_disk = yon_char_parse(str_user, &size_str, ",");
vector t; vector t;
vector_init(&t); vector_init(&t);
if (name_disk) {
for (int i=0; i< size_str; i++) { for (int i=0; i< size_str; i++) {
t.pfVectorAdd(&t, yon_char_new(name_disk[i])); t.pfVectorAdd(&t, yon_char_new(name_disk[i]));
} }
_config->actors.pfVectorCopy(&_config->actors, &t); _config->actors.pfVectorCopy(&_config->actors, &t);
} }
else {
t.pfVectorAdd(&t, yon_char_new(str_user));
}
}
vec_temp->pfVectorAdd(vec_temp, _config); vec_temp->pfVectorAdd(vec_temp, _config);
@ -517,7 +523,10 @@ int check_save() {
char* value2 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupSizeHardLimitSpin)); char* value2 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupSizeHardLimitSpin));
char* value3 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesSoftLimitSpin)); char* value3 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesSoftLimitSpin));
char* value4 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesHardLimitSpin)); char* value4 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesHardLimitSpin));
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(temp_widgets->UserDeviceCombo)); int menu_id = 0;
if (strcmp(set_add_edit, "add")==0) {
menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(temp_widgets->UserDeviceCombo));
}
if (!active1 && !active2 && !active3 && !active4) { if (!active1 && !active2 && !active3 && !active4) {
return 0; return 0;
} }
@ -616,7 +625,7 @@ config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) {
str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo)); str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
} }
else { else {
char* str_disk = (char*)gtk_label_get_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus)); str_disk = (char*)gtk_label_get_label(GTK_LABEL(temp_widgets->lblSetQuotasStatus));
} }
for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) { for (int i = 0; i < _all_config_temp->v_disk_status.vectorList.total; i++) {
disk_status* _config_disk = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i); disk_status* _config_disk = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);

Loading…
Cancel
Save