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

pull/24/head
Igor Belitskiy 2 years ago
parent 285fd077c2
commit 87273dce20

@ -21,7 +21,14 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) {
yon_char_divide_search(str_key, "[",-1); yon_char_divide_search(str_key, "[",-1);
str_key = yon_char_divide_search(str_key, "]",-1); str_key = yon_char_divide_search(str_key, "]",-1);
char* str_value = str_key_value; char* str_value = str_key_value;
if (strstr(str_value, "enable") || strstr(str_value, "disable")) { int flag_find = 0;
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(str_key, config_disk_status->device)) {
flag_find = 1;
}
}
if ((strstr(str_value, "enable") || strstr(str_value, "disable")) && flag_find == 0) {
disk_status* disk_cfg = malloc(sizeof(disk_status)); disk_status* disk_cfg = malloc(sizeof(disk_status));
disk_cfg->deferring_size = 0; disk_cfg->deferring_size = 0;
disk_cfg->deferring_file = 0; disk_cfg->deferring_file = 0;
@ -32,14 +39,17 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) {
for (int j=0; j < _all_config->v_disk_status.vectorList.total;j++) { 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); 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)) { if (strstr(config_disk_status->device, _config_disk->name_disk)) {
config_disk_status->device = _config_disk->name_disk; config_disk_status->device = yon_char_new(_config_disk->name_disk);
config_disk_status->fs = _config_disk->file_system; config_disk_status->fs = yon_char_new(_config_disk->file_system);
config_disk_status->mount_point = _config_disk->mounted; config_disk_status->mount_point = yon_char_new(_config_disk->mounted);
config_disk_status->name = _config_disk->type_dick; config_disk_status->name = yon_char_new(_config_disk->type_dick);
} }
} }
} }
}
else if ((strstr(str_value, "enable") || strstr(str_value, "disable")) && flag_find) {
} }
else { else {
config_u_g_p* _config = malloc(sizeof(config_u_g_p)); config_u_g_p* _config = malloc(sizeof(config_u_g_p));

@ -109,19 +109,15 @@ char* template_format_remove_save(config_all* _all_config, char* source_remove_c
} }
char* template_format_remove_save_device(config_all* _all_config, char* source_remove_cmd) { char* template_format_remove_save_device(config_all* _all_config, char* source_remove_cmd) {
if (_all_config->v_disk_status.vectorList.total > 0) { if (_all_config->v_disk_status.vectorList.total > 0) {
char* cmd = yon_char_new(""); char* cmd = NULL;
for (int i=0; i < _all_config->v_disk_status.vectorList.total; i++) { for (int i=0; i < _all_config->v_disk_status.vectorList.total; i++) {
disk_status* _config = (disk_status*)_all_config->v_disk_status.pfVectorGet(&_all_config->v_disk_status, i); disk_status* _config = (disk_status*)_all_config->v_disk_status.pfVectorGet(&_all_config->v_disk_status, i);
if (_config->status == 0) { if (_config->status == 0) {
cmd = yon_char_unite(cmd, " DISK_QUOTA[usrquota" , _config->device, "] ", NULL); cmd = yon_char_unite(cmd, " DISK_QUOTA[usrquota:" , _config->device, "] ", NULL);
cmd = yon_char_unite(cmd, " DISK_QUOTA[grpquota" , _config->device, "] ", NULL); cmd = yon_char_unite(cmd, " DISK_QUOTA[grpquota:" , _config->device, "] ", NULL);
cmd = yon_char_unite(cmd, " DISK_QUOTA[prjquota" , _config->device, "] ", NULL); cmd = yon_char_unite(cmd, " DISK_QUOTA[prjquota:" , _config->device, "] ", NULL);
} }
} }
if (strlen(cmd)>2) {
return cmd;
}
} }
return NULL; return NULL;
} }

Loading…
Cancel
Save