Исправлена ошибка с checkButton

pull/4/head
Igor Belitskiy 2 years ago
parent b4c4ce63c7
commit cc0d328f8e

@ -43,7 +43,7 @@
#define CMD_GET_GROUP "cut -d: -f1 /etc/group"
typedef char *string;
string version_application = "1.2-34-g126f61d";
string version_application = "1.2-35-gb4c4ce6";
static char *local;

@ -1,4 +1,5 @@
#include "view_add.h"
#include "ubl-utils.h"
add_window *add_widgets = NULL;
add_config obj_add_config;
@ -129,6 +130,8 @@ void add_del_disk() {
char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_pow_size) {
char* split_simvol = g_malloc0(sizeof(char)*2);
int flag_format = 0;
char* cmd_old = yon_char_new(cmd);
if (obj_add_config.disk && obj_add_config.size && array_io && array_io_pow_size) {
int index_find = 0;
for (int index = 0; index < obj_add_config.size; index++) {
@ -142,14 +145,24 @@ char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_p
}
if (array_io_pow_size[index] != -1) {
cmd = yon_char_unite(cmd, split_simvol, obj_add_config.disk[index], philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL);
cmd = yon_char_unite(cmd,
split_simvol,
obj_add_config.disk[index],
philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
flag_format = 1;
}
}
}
free(split_simvol);
if (flag_format) {
return cmd;
}
else {
return cmd_old;
}
}
void add_disk_all(){
@ -169,44 +182,90 @@ void add_disk_all(){
}
if (index_find == -1) {
// Добавление
puts("111");
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
obj_add_config.size--;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
obj_add_config.size--;
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
obj_add_config.size--;
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
obj_add_config.size--;
}
else {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-");
obj_add_config.size--;
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
obj_add_config.size--;
}
else {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-");
obj_add_config.size--;
}
obj_add_config.size++;
}
else {
// Редактирование
puts("2222");
obj_add_config.disk[index_find] = yon_char_new(disk);
//obj_add_config.disk[index_find] = yon_char_new(disk);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
obj_add_config.i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead));
obj_add_config.i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite));
obj_add_config.i_o_limit_read[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
}
else {
obj_add_config.i_o_limit_read_size[index_find] = -1;
obj_add_config.i_o_limit_read[index_find] = "-";
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
obj_add_config.i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite));
obj_add_config.i_o_limit_write[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)));
puts(yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
}
else {
obj_add_config.i_o_limit_write_size[index_find] = -1;
obj_add_config.i_o_limit_write[index_find] = "-";
}
}
}
else {
if (bool_read == 1 || bool_write == 1) {
puts("3333");
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
obj_add_config.size--;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
obj_add_config.size--;
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
obj_add_config.size--;
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
}
else {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-");
obj_add_config.size--;
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
obj_add_config.size--;
}
else {
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
obj_add_config.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-");
obj_add_config.size--;
}
obj_add_config.size++;
}
puts("44444");
}
}
@ -449,8 +508,11 @@ void add_generate_cmd() {
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice))!=-1) {
if (obj_add_config.size!=0) {
puts(str_cmd);
str_cmd = pard_array_edit_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size);
puts(str_cmd);
str_cmd = pard_array_edit_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size);
puts(str_cmd);
}
}

Loading…
Cancel
Save