diff --git a/source/model/model.c b/source/model/model.c index 673f03f..f930152 100644 --- a/source/model/model.c +++ b/source/model/model.c @@ -213,19 +213,34 @@ char quota_fill_generate(char* str_quota, config_u_g_p* _config, GtkListStore* l } -int pars_status_generate(vector* vec_status, char* disk) { - int flag = -1; +int pars_status_generate(vector* vec_status, config_u_g_p* _config_u_g_p) { + int flag = 0; if (vec_status->vectorList.total > 0) { for (int i = 0; i < vec_status->vectorList.total; i++) { disk_status* _config = (disk_status*)vec_status->pfVectorGet(vec_status, i); - if (strstr(_config->device, disk)) { - flag=1; + if (strstr(_config_u_g_p->type_arr,"prjquota")) { + if (strstr(_config_u_g_p->UNIX_file, _config->mount_point)) { + if (_config->status == 0 || _config->status == 1) { + flag = 0; + } + else { + flag = 1; + } + } } + else { + if (strstr(_config_u_g_p->UNIX_file, _config->device)) { + if (_config->status == 0 || _config->status == 1) { + flag = 0; + } + else { + flag = 1; + } + } + } + } } - if (flag<0) { - return 1; - } return flag; } @@ -240,7 +255,7 @@ int fill_tree_view_generate(vector* vec_fill, vector* vec_status_disk, char* str char* deferring_file = wrapper_str_time(_config->deferring_file); quota_fill_generate(str_fill, _config,liststoreGeneral,&iter); gtk_list_store_set(liststoreGeneral,&iter, - 0,pars_status_generate(vec_status_disk,_config->UNIX_file), + 0,pars_status_generate(vec_status_disk,_config), 1,_config->quota, 2,quota_type(str_fill), 3,_config->UNIX_file,