Исправил баг с пустым значением в редактирование и добавление квот

pull/4/head
Igor Belitskiy 2 years ago
parent f8ffc74518
commit 62f9e32924

@ -631,14 +631,20 @@ void tree_view_add(int index) {
main_config.size_tree_view--; main_config.size_tree_view--;
main_config.cpu_limit = yon_char_parsed_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu()); main_config.cpu_limit = yon_char_parsed_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu());
main_config.size_tree_view--; main_config.size_tree_view--;
/*
main_config.i_o_limit_read = yon_char_parsed_append(main_config.i_o_limit_read, &main_config.size_tree_view, add_get_read_device()); main_config.i_o_limit_read = yon_remalloc(main_config.i_o_limit_read, (main_config.size_tree_view + 1) * sizeof(char**));
main_config.size_tree_view--; main_config.i_o_limit_read_size = yon_remalloc(main_config.i_o_limit_read_size, (main_config.size_tree_view + 1) * sizeof(int*));
main_config.i_o_limit_write = yon_char_parsed_append(main_config.i_o_limit_write, &main_config.size_tree_view, add_get_write_device()); main_config.disk = yon_remalloc(main_config.disk, (main_config.size_tree_view + 1) * sizeof(char**));
main_config.size_tree_view--; yon_char_parsed_copy(&main_config.i_o_limit_read[main_config.size_tree_view], add_get_read_device());
main_config.disk = yon_char_parsed_append(main_config.disk, &main_config.size_tree_view, add_get_select_device()); philos_array_int_copy(&main_config.i_o_limit_read_size[main_config.size_tree_view], add_get_read_device_size_pow());
main_config.size_tree_view--; yon_char_parsed_copy(&main_config.disk[main_config.size_tree_view], add_get_select_device());
*/
main_config.i_o_limit_write = yon_remalloc(main_config.i_o_limit_write, (main_config.size_tree_view + 1) * sizeof(char**));
main_config.i_o_limit_write_size = yon_remalloc(main_config.i_o_limit_write_size, (main_config.size_tree_view + 1) * sizeof(int*));
main_config.disk = yon_remalloc(main_config.disk, (main_config.size_tree_view + 1) * sizeof(char**));
yon_char_parsed_copy(&main_config.i_o_limit_write[main_config.size_tree_view], add_get_write_device());
philos_array_int_copy(&main_config.i_o_limit_write_size[main_config.size_tree_view], add_get_write_device_size_pow());
yon_char_parsed_copy(&main_config.disk[main_config.size_tree_view], add_get_select_device());
main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size()); main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size());
main_config.size_tree_view--; main_config.size_tree_view--;
@ -696,6 +702,9 @@ char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int*
if (index_to_n2!=0) { if (index_to_n2!=0) {
str = yon_char_unite(str, ", ", disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL); str = yon_char_unite(str, ", ", disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL);
} }
else if (strstr(disk[index][index_to_n2], "-")){
str = yon_char_unite(str, "-", NULL);
}
else { else {
str = yon_char_unite(str, disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL); str = yon_char_unite(str, disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL);
} }

@ -145,28 +145,29 @@ void add_disk_all(){
if (index_find == 0) { if (index_find == 0) {
yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
obj_add_config.size--; obj_add_config.size--;
philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,add_get_read_device_size()); philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
obj_add_config.size--; obj_add_config.size--;
philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,add_get_write_device_size()); philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
obj_add_config.size--; obj_add_config.size--;
yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,add_get_read_device()); yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spinAddRead,add_widgets->cbtAddRead));
obj_add_config.size--; obj_add_config.size--;
yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,add_get_write_device()); yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,philos_get_size_bite(add_widgets->chbAddWrite, add_widgets->spinAddWrite,add_widgets->cbtAddWrite));
} }
} }
else { else {
yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
obj_add_config.size--; obj_add_config.size--;
philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,add_get_read_device_size()); philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
obj_add_config.size--; obj_add_config.size--;
philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,add_get_write_device_size()); philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
obj_add_config.size--; obj_add_config.size--;
yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,add_get_read_device()); yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead));
obj_add_config.size--; obj_add_config.size--;
yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,add_get_write_device()); yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,philos_get_size_bite(add_widgets->chbAddWrite, add_widgets->spinAddWrite,add_widgets->cbtAddWrite));
} }
} }
void event_check_io_device() { void event_check_io_device() {
add_del_disk(); add_del_disk();
add_disk_all(); add_disk_all();
@ -253,24 +254,47 @@ char* add_get_select_device_to_level_2() {
} }
} }
char* add_get_select_device() { char*** add_get_read_device() {
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice)); int index = 0;
if (text != NULL) { if (!obj_add_config.i_o_limit_read) {
return text; obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&index, "-");
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&index, NULL);
} }
else { return &obj_add_config.i_o_limit_read;
char* str = (char*)malloc(sizeof(char*)*2); }
str[0] = '-'; int** add_get_read_device_size_pow() {
str[1] = '\0'; int index = 0;
return str; if (!obj_add_config.i_o_limit_read_size) {
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&index, -1);
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&index, -2);
} }
return &obj_add_config.i_o_limit_read_size;
} }
int add_get_read_device_size() { char*** add_get_write_device() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)); int index = 0;
if (!obj_add_config.i_o_limit_write) {
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &index, "-");
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &index, NULL);
}
return &obj_add_config.i_o_limit_write;
}
int** add_get_write_device_size_pow() {
int index = 0;
if (!obj_add_config.i_o_limit_write_size) {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&index, -1);
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&index, -2);
}
return &obj_add_config.i_o_limit_write_size;
} }
int add_get_write_device_size() { char*** add_get_select_device() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)); int index = 0;
if (!obj_add_config.disk) {
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&index, "-");
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&index, NULL);
}
return &obj_add_config.disk;
} }
int add_get_soft_size() { int add_get_soft_size() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmSevereRestrictionAdd)); return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmSevereRestrictionAdd));
} }
@ -286,14 +310,7 @@ int add_get_limit_swap_size() {
int add_get_quota_object_size() { int add_get_quota_object_size() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj)); return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj));
} }
char* add_get_read_device() {
return philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spinAddRead,
add_widgets->cbtAddRead);
}
char* add_get_write_device() {
return philos_get_size_bite(add_widgets->chbAddWrite, add_widgets->spinAddWrite,
add_widgets->cbtAddWrite);
}
char* add_get_soft() { char* add_get_soft() {
return philos_get_size_bite(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, return philos_get_size_bite(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd,
add_widgets->cmSevereRestrictionAdd); add_widgets->cmSevereRestrictionAdd);

@ -77,17 +77,17 @@ void add_destroy(GtkWidget *self);
void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd); void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
void add_init_windows(); void add_init_windows();
void add_update_combo_box(); void add_update_combo_box();
char* add_get_select_device(); char*** add_get_select_device();
char* add_get_read_device(); char*** add_get_read_device();
char* add_get_write_device(); char*** add_get_write_device();
char* add_get_soft(); char* add_get_soft();
char* add_get_hard(); char* add_get_hard();
char* add_get_limit_cpu(); char* add_get_limit_cpu();
char* add_get_limit_swap(); char* add_get_limit_swap();
char* add_get_quota_object(); char* add_get_quota_object();
int add_get_read_device_size(); int** add_get_write_device_size_pow();
int add_get_write_device_size(); int** add_get_read_device_size_pow();
int add_get_soft_size(); int add_get_soft_size();
int add_get_hard_size(); int add_get_hard_size();
int add_get_limit_cpu_size(); int add_get_limit_cpu_size();

@ -143,18 +143,43 @@ int edit_get_limit_swap_size() {
} }
char*** edit_get_read_device() { char*** edit_get_read_device() {
int index = 0;
if (!obj_edit_config.i_o_limit_read) {
obj_edit_config.i_o_limit_read = yon_char_parsed_append(obj_edit_config.i_o_limit_read,&index, "-");
obj_edit_config.i_o_limit_read = yon_char_parsed_append(obj_edit_config.i_o_limit_read,&index, NULL);
}
return &obj_edit_config.i_o_limit_read; return &obj_edit_config.i_o_limit_read;
} }
int** edit_get_read_device_size_pow() { int** edit_get_read_device_size_pow() {
int index = 0;
if (!obj_edit_config.i_o_limit_read_size) {
obj_edit_config.i_o_limit_read_size = philos_int_append(obj_edit_config.i_o_limit_read_size,&index, -1);
obj_edit_config.i_o_limit_read_size = philos_int_append(obj_edit_config.i_o_limit_read_size,&index, -2);
}
return &obj_edit_config.i_o_limit_read_size; return &obj_edit_config.i_o_limit_read_size;
} }
char*** edit_get_write_device() { char*** edit_get_write_device() {
int index = 0;
if (!obj_edit_config.i_o_limit_write) {
obj_edit_config.i_o_limit_write = yon_char_parsed_append(obj_edit_config.i_o_limit_write, &index, "-");
obj_edit_config.i_o_limit_write = yon_char_parsed_append(obj_edit_config.i_o_limit_write, &index, NULL);
}
return &obj_edit_config.i_o_limit_write; return &obj_edit_config.i_o_limit_write;
} }
int** edit_get_write_device_size_pow() { int** edit_get_write_device_size_pow() {
int index = 0;
if (!obj_edit_config.i_o_limit_write_size) {
obj_edit_config.i_o_limit_write_size = philos_int_append(obj_edit_config.i_o_limit_write_size,&index, -1);
obj_edit_config.i_o_limit_write_size = philos_int_append(obj_edit_config.i_o_limit_write_size,&index, -2);
}
return &obj_edit_config.i_o_limit_write_size; return &obj_edit_config.i_o_limit_write_size;
} }
char*** edit_get_select_device() { char*** edit_get_select_device() {
int index = 0;
if (!obj_edit_config.disk) {
obj_edit_config.disk = yon_char_parsed_append(obj_edit_config.disk,&index, "-");
obj_edit_config.disk = yon_char_parsed_append(obj_edit_config.disk,&index, NULL);
}
return &obj_edit_config.disk; return &obj_edit_config.disk;
} }
char* edit_get_soft() { char* edit_get_soft() {

Loading…
Cancel
Save