diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 551d92b..c41493a 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -975,15 +975,14 @@ void wrapper_system_save() { char* save_format_key(int index) { - char* key = NULL; - if (strstr(main_config.quota_volume[index], "-") == NULL) { - key = yon_char_unite("CGROUP_QUOTA[", main_config.quota_volume[index] , "]", NULL); + if (strstr(main_config.quota_volume[index], "-") != NULL) { + return yon_char_unite("CGROUP_QUOTA[", main_config.quota_volume[index] , "]", NULL); } - return key; + return NULL; } char* save_format_value(int index) { - char* value = ""; + char* value = yon_char_new(""); char split_simvol[2] = {0}; split_simvol[0] = 0; split_simvol[1] = 0; @@ -1019,30 +1018,46 @@ char* save_format_value(int index) { split_simvol[0] = ','; split_simvol[1] = '\0'; } - value = add_io_str_format_ubconfig(value, "IOReadBandwidthMax", main_config.i_o_limit_read, main_config.i_o_limit_read_size, main_config.disk, index); - value = add_io_str_format_ubconfig(value, "IOWriteBandwidthMax", main_config.i_o_limit_write, main_config.i_o_limit_write_size, main_config.disk, index); + + char* value_read = add_io_str_format_ubconfig("IOReadBandwidthMax", main_config.i_o_limit_read, main_config.i_o_limit_read_size, main_config.disk, index); + char* value_write = add_io_str_format_ubconfig("IOWriteBandwidthMax", main_config.i_o_limit_write, main_config.i_o_limit_write_size, main_config.disk, index); + if (strlen(value_read) > 5){ + if (strlen(value) > 5) { + value = yon_char_unite(value, ",", value_read, NULL); + } + else { + value = yon_char_unite(value_read, NULL); + } + + } + if (strlen(value_write)> 5) { + if (strlen(value) > 5) { + value = yon_char_unite(value, ",", value_write, NULL); + } + else { + value = yon_char_unite(value_write, NULL); + } + } return value; } -char* add_io_str_format_ubconfig(char* cmd_io, char* key, int** i_o_limit, int** i_o_limit_size, char*** disk, int index) { +char* add_io_str_format_ubconfig(char* key, int** i_o_limit, int** i_o_limit_size, char*** disk, int index) { char split_simvol[2] = {0}; - if (i_o_limit== NULL) {return cmd_io;} - if (i_o_limit_size[index] == NULL) {return cmd_io;} - if (i_o_limit[index] == NULL) {return cmd_io;} + char* cmd_io = ""; + if (i_o_limit== NULL) {return NULL;} + if (i_o_limit_size[index] == NULL) {return NULL;} + if (i_o_limit[index] == NULL) {return NULL;} int len_array = 0; for (int i = 0;i_o_limit[index][i] != -2; i++) { len_array += 1; } for (int i=0; i 1 && check_save()== 0) { + if (cmd != NULL && check_save()== 0) { + cmd = yon_char_unite(source_set_cmd, " " ,cmd, NULL); + puts(cmd); return cmd; } free(cmd); diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index bcf988c..b4b5196 100644 --- a/source/ubl-settings-resourcequota.h +++ b/source/ubl-settings-resourcequota.h @@ -44,7 +44,7 @@ #define CMD_GET_GROUP "cut -d: -f1 /etc/group" typedef char *string; -string version_application; +string version_application="1.2"; static char *local; @@ -213,6 +213,6 @@ char* template_format_str_remove_save(char* source_remove_cmd); char* template_format_str_set_save(char* source_set_cmd); char* save_format_key(int index); void get_param_io_limit(char** arr_values, int index_start, int size, int index_n1, char *key_find); -char* add_io_str_format_ubconfig(char* cmd_io, char* key, int** i_o_limit, int** i_o_limit_size, char*** disk_read, int index); +char* add_io_str_format_ubconfig(char* key, int** i_o_limit, int** i_o_limit_size, char*** disk_read, int index); char* format_io_limit_in_tree_view(config_str* disk, int** i_o_limit, int** i_o_limit_size, int index); gboolean select_page_notebook(GtkNotebook* self, gboolean object, gpointer user_data); \ No newline at end of file diff --git a/source/view_add.c b/source/view_add.c index 3efd5f3..772fa99 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -169,7 +169,7 @@ void add_show(GtkWidget *self, char* glade_path) { char* add_get_select_device_to_level_2() { char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxTempQuotaLevel2)); int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxTempQuotaLevel2)); - if (disk_id != -1) { + if (disk_id >= 0) { return text; } else {