diff --git a/source/model/load.c b/source/model/load.c index 2594ed5..d79ce28 100644 --- a/source/model/load.c +++ b/source/model/load.c @@ -21,7 +21,14 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) { yon_char_divide_search(str_key, "[",-1); str_key = yon_char_divide_search(str_key, "]",-1); 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_cfg->deferring_size = 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++) { 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; + config_disk_status->device = yon_char_new(_config_disk->name_disk); + config_disk_status->fs = yon_char_new(_config_disk->file_system); + config_disk_status->mount_point = yon_char_new(_config_disk->mounted); + config_disk_status->name = yon_char_new(_config_disk->type_dick); } } } + } + else if ((strstr(str_value, "enable") || strstr(str_value, "disable")) && flag_find) { + } else { config_u_g_p* _config = malloc(sizeof(config_u_g_p)); diff --git a/source/model/save.c b/source/model/save.c index b84024b..50f34af 100644 --- a/source/model/save.c +++ b/source/model/save.c @@ -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) { 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++) { disk_status* _config = (disk_status*)_all_config->v_disk_status.pfVectorGet(&_all_config->v_disk_status, i); if (_config->status == 0) { - 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[prjquota" , _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[prjquota:" , _config->device, "] ", NULL); } } - if (strlen(cmd)>2) { - return cmd; - } - } return NULL; }