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

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;
if (strstr(str_value, "enable") || strstr(str_value, "disable")) {
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);
_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 {
config_u_g_p* _config = malloc(sizeof(config_u_g_p));
@ -173,19 +188,7 @@ void load_pars_values(config_u_g_p* _config, config_all* _all_config, char* str_
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 {

@ -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 **string=NULL;
if (!strstr(parameters, divider)) {
return NULL;
}
int i=1;
string=malloc(sizeof(char*));
char *paramline=yon_char_new(parameters);
char *param;
while ((param=yon_char_divide_search(paramline,divider,1))){
if (strcmp(param,paramline)==0) break;
string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(param);
i++;
if (strcmp(param,paramline)==0) break;
}
string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(paramline);

@ -483,10 +483,16 @@ void get_add_gui_data_base(config_all* all_config) {
char** name_disk = yon_char_parse(str_user, &size_str, ",");
vector t;
vector_init(&t);
for (int i=0; i< size_str; i++) {
t.pfVectorAdd(&t, yon_char_new(name_disk[i]));
if (name_disk) {
for (int i=0; i< size_str; i++) {
t.pfVectorAdd(&t, yon_char_new(name_disk[i]));
}
_config->actors.pfVectorCopy(&_config->actors, &t);
}
else {
t.pfVectorAdd(&t, yon_char_new(str_user));
}
_config->actors.pfVectorCopy(&_config->actors, &t);
}
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* value3 = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->quotegroupFilesSoftLimitSpin));
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) {
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));
}
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++) {
disk_status* _config_disk = (disk_status*)_all_config_temp->v_disk_status.pfVectorGet(&_all_config_temp->v_disk_status, i);

Loading…
Cancel
Save