Исправил баг с добавлением

pull/4/head
Igor Belitskiy 2 years ago
parent 6224f6fd66
commit c8bf3abf5b

@ -433,10 +433,10 @@ char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int*
}
}
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config, int size_disk) {
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config) {
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice));
disk = yon_char_divide_search(disk," ", -1);
if (disk == NULL || size_disk == 0) {
if (disk == NULL) {
return 0;
}
return 1;
@ -483,12 +483,12 @@ void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config) {
split_simvol[1] = '\0';
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempDevice))!=-1) {
if (_config->size_read!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOReadBandwidthMax=", _config->i_o_limit_read, _config->i_o_limit_read_size, _config->disk_read, _config->size_read);
if (_config->size_disk!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOReadBandwidthMax=", _config->i_o_limit_read, _config->i_o_limit_read_size, _config->disk_read, _config->size_disk);
}
if (_config->size_write!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOWriteBandwidthMax=", _config->i_o_limit_write, _config->i_o_limit_write_size, _config->disk_write, _config->size_write);
if (_config->size_disk!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOWriteBandwidthMax=", _config->i_o_limit_write, _config->i_o_limit_write_size, _config->disk_write, _config->size_disk);
}
}
@ -506,65 +506,61 @@ void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int fl
int size = 0;
if (flag_check_array == 0) {
size = _config->size_read;
if (philos_check_activ_disk(widgets, _config, size) == 0) {
size = _config->size_disk;
if (philos_check_activ_disk(widgets, _config) == 0) {
return;
}
ptr_disk = _config->disk_read;
}
else if (flag_check_array == 1) {
size = _config->size_write;
if (philos_check_activ_disk(widgets, _config, size) == 0) {
size = _config->size_disk;
if (philos_check_activ_disk(widgets, _config) == 0) {
return;
}
ptr_disk = _config->disk_write;
}
if (size) {
int index_find = -1;
if (ptr_disk) {
for (int index = 0; index < size; index++) {
char* disk_cfg = ptr_disk[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
index_find = index;
break;
}
int index_find = -1;
if (ptr_disk) {
for (int index = 0; index < size; index++) {
char* disk_cfg = ptr_disk[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
index_find = index;
break;
}
}
}
if ((bool_read == 0 && bool_write == 0 && index_find != -1)) {
ptr_disk[index_find] = yon_char_new("-");
_config->i_o_limit_read_size[index_find] = -3;
_config->i_o_limit_write_size[index_find] = -3;
_config->i_o_limit_read[index_find] = -3;
_config->i_o_limit_write[index_find] = -3;
}
}
if ((bool_read == 0 && bool_write == 0 && index_find != -1)) {
ptr_disk[index_find] = yon_char_new("-");
_config->i_o_limit_read_size[index_find] = -3;
_config->i_o_limit_write_size[index_find] = -3;
_config->i_o_limit_read[index_find] = -3;
_config->i_o_limit_write[index_find] = -3;
}
if (flag_check_array == 0) {
if (ptr_disk) {
_config->disk_read = ptr_disk;
_config->size_read = size;
yon_char_parsed_copy(&_config->disk_read, &ptr_disk);
}
}
else if (flag_check_array == 1) {
if (ptr_disk) {
_config->disk_write = ptr_disk;
_config->size_write = size;
yon_char_parsed_copy(&_config->disk_write, &ptr_disk);
}
}
}
void philos_temp_config_init(temp_config* _config) {
if (_config->size_read != 0) {
philos_free_string_array(&_config->disk_read, _config->size_read);
philos_free_int_array(&_config->i_o_limit_read, _config->size_read);
philos_free_int_array(&_config->i_o_limit_read_size, _config->size_read);
if (_config->size_disk != 0) {
philos_free_string_array(&_config->disk_read, _config->size_disk);
philos_free_int_array(&_config->i_o_limit_read, _config->size_disk);
philos_free_int_array(&_config->i_o_limit_read_size, _config->size_disk);
}
else if (_config->size_write != 0) {
philos_free_string_array(&_config->disk_write, _config->size_write);
philos_free_int_array(&_config->i_o_limit_write, _config->size_write);
philos_free_int_array(&_config->i_o_limit_write_size, _config->size_write);
else if (_config->size_disk != 0) {
philos_free_string_array(&_config->disk_write, _config->size_disk);
philos_free_int_array(&_config->i_o_limit_write, _config->size_disk);
philos_free_int_array(&_config->i_o_limit_write_size, _config->size_disk);
}
_config->disk_read = NULL;
_config->disk_write = NULL;
@ -572,8 +568,8 @@ void philos_temp_config_init(temp_config* _config) {
_config->i_o_limit_write = NULL;
_config->i_o_limit_read_size = NULL;
_config->i_o_limit_write_size = NULL;
_config->size_read = 0;
_config->size_write = 0;
_config->size_disk = 0;
_config->size_disk = 0;
}
// flag_check_array = 0 READ
@ -586,7 +582,7 @@ void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _confi
int index_find = -1;
if (flag_check_array == 0) {
if (_config->disk_read) {
for (int index = 0; index < _config->size_read; index++) {
for (int index = 0; index < _config->size_disk; index++) {
char* disk_cfg = _config->disk_read[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
@ -599,7 +595,7 @@ void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _confi
}
else if (flag_check_array == 1) {
if (_config->disk_write) {
for (int index = 0; index < _config->size_write; index++) {
for (int index = 0; index < _config->size_disk; index++) {
char* disk_cfg = _config->disk_write[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
@ -677,11 +673,11 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl
int size = 0;
if (flag_check_array == 0) {
ptr_disk = _config->disk_read;
size = _config->size_read;
size = _config->size_disk;
}
else if (flag_check_array == 1) {
ptr_disk = _config->disk_write;
size = _config->size_write;
size = _config->size_disk;
}
if (disk_id >= 0 && size !=0) {
int index_find = -1;
@ -697,46 +693,14 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl
}
}
if (index_find == -1) {
// Добавление
ptr_disk = yon_char_parsed_append(ptr_disk,&size, disk);
size--;
if (flag_check_array == 0) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) {
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead)));
size--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead)));
size--;
}
else {
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,-3);
size--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,-3);
size--;
}
}
if (flag_check_array == 1) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) {
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite)));
size--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite)));
size--;
}
else {
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,-3);
size--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,-3);
size--;
}
if (index_find == -1 || index_find>=0) {
if (index_find == -1) {
index_find = find_null_array(_config);
}
size++;
}
else {
// Редактирование
if (flag_check_array == 0) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) {
_config->i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead));
_config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead));
_config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead));
}
else {
@ -754,59 +718,62 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl
_config->i_o_limit_write[index_find] = -3;
}
}
}
}
else {
if (bool_read == 1 || bool_write == 1) {
ptr_disk = yon_char_parsed_append(ptr_disk,&size, disk);
size--;
int index_find = find_null_array(_config);
if (flag_check_array == 0) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) {
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead)));
size--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead)));
size--;
_config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead));
_config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead));
}
else {
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,-3);
size--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,-3);
size--;
_config->i_o_limit_read_size[index_find] = -3;
_config->i_o_limit_read[index_find] = -3;
}
}
if (flag_check_array == 1) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) {
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite)));
size--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite)));
size--;
_config->i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite));
_config->i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite));
}
else {
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,-3);
size--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,-3);
size--;
_config->i_o_limit_write_size[index_find] = -3;
_config->i_o_limit_write[index_find] = -3;
}
}
size++;
}
else {
}
}
if (flag_check_array == 0) {
if (ptr_disk) {
_config->disk_read = ptr_disk;
_config->size_read = size;
yon_char_parsed_copy(&_config->disk_read, &ptr_disk);
}
}
else if (flag_check_array == 1) {
if (ptr_disk) {
_config->disk_write = ptr_disk;
_config->size_write = size;
yon_char_parsed_copy(&_config->disk_write, &ptr_disk);
}
}
}
int find_null_array(temp_config* _config) {
int index = 0;
for (index = 0; (_config->disk_read[index]!=NULL && _config->disk_write[index]!=NULL); index++) {
if (strcmp(_config->disk_read[index], "-") == 0 && strcmp(_config->disk_write[index], "-") == 0) {
break;
}
}
return index;
}
int* philos_int_append(int* array, int* size, int value) {
array = yon_remalloc(array, (*size+1)*sizeof(int));
@ -1141,3 +1108,29 @@ void philos_array_char_pars_to(char*** array, char* to) {
}
}
}
void init_device_disk(temp_config* _config) {
for (int index = 0;index< (get_device_cfg()->size_disk*2);index++){
_config->disk_read = yon_char_parsed_append(_config->disk_read,&_config->size_disk, "-");
_config->size_disk--;
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size, &_config->size_disk, -3);
_config->size_disk--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write, &_config->size_disk, -3);
_config->size_disk--;
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size, &_config->size_disk, -3);
_config->size_disk--;
_config->disk_write = yon_char_parsed_append(_config->disk_write,&_config->size_disk, "-");
_config->size_disk--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read, &_config->size_disk, -3);
}
_config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size, &_config->size_disk, -2);
_config->size_disk--;
_config->disk_write = yon_char_parsed_append(_config->disk_write, &_config->size_disk, NULL);
_config->size_disk--;
_config->disk_read = yon_char_parsed_append(_config->disk_read, &_config->size_disk, NULL);
_config->size_disk--;
_config->i_o_limit_write = philos_int_append(_config->i_o_limit_write, &_config->size_disk, -2);
_config->size_disk--;
_config->i_o_limit_read = philos_int_append(_config->i_o_limit_read, &_config->size_disk, -2);
_config->size_disk--;
_config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size, &_config->size_disk, -2);
}

@ -14,6 +14,7 @@
#include <vte/vte.h>
#include <pwd.h>
#include <stdbool.h>
#include "my_device.h"
#define catch(x) ExitJmp:if(__HadError)
#define throw(x) {__HadError=true;goto ExitJmp;}
@ -26,8 +27,8 @@ typedef struct {
int* i_o_limit_write;
int* i_o_limit_read_size;
int* i_o_limit_write_size;
int size_write;
int size_read;
int size;
int size_disk;
} temp_config;
typedef struct {
@ -86,7 +87,7 @@ void philos_set_pow_size_memory_device(char* str_find, int** array_size,int inde
void philos_array_int_copy(int** source, int** copy);
char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data);
char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* array_io, int* array_io_pow_size, char** disk, int size);
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config, int size_disk);
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config);
void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config);
void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array);
void philos_temp_config_init(temp_config* _config);
@ -114,4 +115,6 @@ static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer
int philos_config_save(char *command);
void philos_array_int_pars_to(int** array, int to);
void philos_array_char_pars_to(char*** array, char* to);
int find_null_array(temp_config* _config);
void init_device_disk(temp_config* _config);
#endif

@ -631,46 +631,38 @@ void tree_view_select(GtkWidget *self, main_window *widgets) {
}
void tree_view_add(int index) {
main_config.type_quota = yon_char_parsed_append(main_config.type_quota, &main_config.size_tree_view, add_get_quota_object());
main_config.quota_volume = yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, add_get_select_device_to_level_2());
main_config.size_tree_view--;
main_config.soft_raw_limit = philos_int_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft());
main_config.size_tree_view--;
main_config.hard_raw_limit = philos_int_append(main_config.hard_raw_limit, &main_config.size_tree_view, add_get_hard());
main_config.size_tree_view--;
main_config.swap = philos_int_append(main_config.swap, &main_config.size_tree_view, add_get_limit_swap());
main_config.size_tree_view--;
main_config.cpu_limit = philos_int_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu());
main_config.size_tree_view--;
main_config.i_o_limit_read = yon_remalloc(main_config.i_o_limit_read, (main_config.size_tree_view + 1) * sizeof(int*));
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.disk_read = yon_remalloc(main_config.disk_read, (main_config.size_tree_view + 1) * sizeof(char**));
yon_char_parsed_copy(&main_config.disk_read[main_config.size_tree_view], add_get_select_read_device());
philos_array_int_copy(&main_config.i_o_limit_read[main_config.size_tree_view], add_get_read_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.disk_write = yon_remalloc(main_config.disk_write, (main_config.size_tree_view + 1) * sizeof(char**));
yon_char_parsed_copy(&main_config.disk_write[main_config.size_tree_view], add_get_select_write_device());
main_config.i_o_limit_write = yon_remalloc(main_config.i_o_limit_write, (main_config.size_tree_view + 1) * sizeof(int*));
main_config.i_o_limit_write_size = yon_remalloc(main_config.i_o_limit_write_size, (main_config.size_tree_view + 1) * sizeof(int*));
philos_array_int_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());
init_cfg_array(index);
main_config.type_quota_size[index] = add_get_quota_object_size();
main_config.quota_volume_size[index] = -1;
main_config.type_quota[index] = add_get_quota_object();
main_config.quota_volume[index] = add_get_select_device_to_level_2();
main_config.soft_raw_limit[index] = add_get_soft();
main_config.hard_raw_limit[index] = add_get_hard();
main_config.swap[index] = add_get_limit_swap();
main_config.cpu_limit[index] = add_get_limit_cpu();
main_config.soft_raw_limit_size[index] = add_get_soft_size();
main_config.hard_raw_limit_size[index] = add_get_hard_size();
main_config.swap_size[index] = add_get_limit_swap_size();
main_config.cpu_limit_size[index] = add_get_limit_cpu_size();
philos_free_string_array(&main_config.disk_read[index],(get_device_cfg()->size_disk*2));
philos_free_string_array(&main_config.disk_write[index],(get_device_cfg()->size_disk*2));
philos_free_int_array(&main_config.i_o_limit_write[index],(get_device_cfg()->size_disk*2));
philos_free_int_array(&main_config.i_o_limit_read[index],(get_device_cfg()->size_disk*2));
philos_free_int_array(&main_config.i_o_limit_read_size[index],(get_device_cfg()->size_disk*2));
philos_free_int_array(&main_config.i_o_limit_write_size[index],(get_device_cfg()->size_disk*2));
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.quota_volume_size = philos_int_append(main_config.quota_volume_size, &main_config.size_tree_view, -1);
main_config.size_tree_view--;
main_config.soft_raw_limit_size = philos_int_append(main_config.soft_raw_limit_size, &main_config.size_tree_view, add_get_soft_size());
main_config.size_tree_view--;
main_config.hard_raw_limit_size = philos_int_append(main_config.hard_raw_limit_size, &main_config.size_tree_view, add_get_hard_size());
main_config.size_tree_view--;
main_config.swap_size = philos_int_append(main_config.swap_size, &main_config.size_tree_view, add_get_limit_swap_size());
main_config.size_tree_view--;
main_config.cpu_limit_size = philos_int_append(main_config.cpu_limit_size, &main_config.size_tree_view, add_get_limit_cpu_size());
philos_array_int_copy(&main_config.i_o_limit_read[index], add_get_read_device());
philos_array_int_copy(&main_config.i_o_limit_write[index], add_get_write_device());
philos_array_int_copy(&main_config.i_o_limit_read_size[index], add_get_read_device_size_pow());
philos_array_int_copy(&main_config.i_o_limit_write_size[index], add_get_write_device_size_pow());
yon_char_parsed_copy(&main_config.disk_read[index], add_get_select_read_device());
yon_char_parsed_copy(&main_config.disk_write[index], add_get_select_write_device());
main_config.size_tree_view += 1;
fill_tree_view(main_config.size_tree_view-1, main_config.size_tree_view, 1);
main_config.flag_set_data = 1;
main_config.flag_save = 2;
}
void fill_tree_view(int start, int size, int flag_gui_add) {
@ -894,17 +886,8 @@ void wrapper_edit_show() {
int index = atoi(str_iter);
size_t size_disk_read_array = 0;
size_t size_disk_write_array = 0;
if (main_config.disk_read) {
for (size_disk_read_array=0; main_config.disk_read[index][size_disk_read_array]; size_disk_read_array++) {
}
}
if (main_config.disk_write) {
for (size_disk_write_array; main_config.disk_write[index][size_disk_write_array]; size_disk_write_array++) {
}
}
edit_show(NULL, glade_path);
edit_set_size_arrays_read(size_disk_read_array);
edit_set_size_arrays_write(size_disk_write_array);
edit_set_size_arrays((get_device_cfg()->size_disk*2)+1);
edit_set_select_read_device(&main_config.disk_read[index]);
edit_set_select_write_device(&main_config.disk_write[index]);
edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]);

@ -48,6 +48,7 @@ temp_set_window *add_setup_window(char* glade_path) {
add_init_windows();
add_localization(add_widgets);
philos_temp_config_init(&obj_add_config);
init_device_disk(&obj_add_config);
}
return add_widgets;
}
@ -178,60 +179,6 @@ char* add_get_select_device_to_level_2() {
}
}
int** add_get_read_device() {
int start_index = obj_add_config.size_read;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read, &obj_add_config.size_read, -3);
}
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read, &obj_add_config.size_read, -2);
obj_add_config.size_read = start_index;
return &obj_add_config.i_o_limit_read;
}
int** add_get_read_device_size_pow() {
int start_index = obj_add_config.size_read;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size, &obj_add_config.size_read, -3);
}
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size, &obj_add_config.size_read, -2);
obj_add_config.size_read = start_index;
return &obj_add_config.i_o_limit_read_size;
}
int** add_get_write_device() {
int start_index = obj_add_config.size_write;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write, &obj_add_config.size_write, -3);
}
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write, &obj_add_config.size_write, -2);
obj_add_config.size_write = start_index;
return &obj_add_config.i_o_limit_write;
}
int** add_get_write_device_size_pow() {
int start_index = obj_add_config.size_write;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size, &obj_add_config.size_write, -3);
}
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size, &obj_add_config.size_write, -2);
obj_add_config.size_write = start_index;
return &obj_add_config.i_o_limit_write_size;
}
char*** add_get_select_read_device() {
int start_index = obj_add_config.size_read;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.disk_read = yon_char_parsed_append(obj_add_config.disk_read,&obj_add_config.size_read, "-");
}
obj_add_config.disk_read = yon_char_parsed_append(obj_add_config.disk_read, &obj_add_config.size_read, NULL);
obj_add_config.size_read = start_index;
return &obj_add_config.disk_read;
}
char*** add_get_select_write_device() {
int start_index = obj_add_config.size_write;
for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){
obj_add_config.disk_write = yon_char_parsed_append(obj_add_config.disk_write,&obj_add_config.size_write, "-");
}
obj_add_config.disk_write = yon_char_parsed_append(obj_add_config.disk_write, &obj_add_config.size_write, NULL);
obj_add_config.size_write = start_index;
return &obj_add_config.disk_write;
}
int add_get_soft_size() {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSoftRestrictionTemp))) {
@ -313,3 +260,23 @@ void add_update_combo_box() {
}
}
int** add_get_read_device() {
return &obj_add_config.i_o_limit_read;
}
int** add_get_read_device_size_pow() {
return &obj_add_config.i_o_limit_read_size;
}
int** add_get_write_device() {
return &obj_add_config.i_o_limit_write;
}
int** add_get_write_device_size_pow() {
return &obj_add_config.i_o_limit_write_size;
}
char*** add_get_select_read_device() {
return &obj_add_config.disk_read;
}
char*** add_get_select_write_device() {
return &obj_add_config.disk_write;
}

@ -173,47 +173,21 @@ int edit_get_quota_object_size() {
}
int** edit_get_read_device() {
obj_edit_config.i_o_limit_read = philos_int_append(obj_edit_config.i_o_limit_read,&obj_edit_config.size_read, -2);
obj_edit_config.size_read--;
return &obj_edit_config.i_o_limit_read;
}
int** edit_get_read_device_size_pow() {
obj_edit_config.i_o_limit_read_size = philos_int_append(obj_edit_config.i_o_limit_read_size,&obj_edit_config.size_read, -2);
obj_edit_config.size_read--;
return &obj_edit_config.i_o_limit_read_size;
}
int** edit_get_write_device() {
obj_edit_config.i_o_limit_write = philos_int_append(obj_edit_config.i_o_limit_write, &obj_edit_config.size_write, -2);
obj_edit_config.size_write--;
return &obj_edit_config.i_o_limit_write;
}
int** edit_get_write_device_size_pow() {
obj_edit_config.i_o_limit_write_size = philos_int_append(obj_edit_config.i_o_limit_write_size,&obj_edit_config.size_write, -2);
obj_edit_config.size_write--;
return &obj_edit_config.i_o_limit_write_size;
}
char*** edit_get_select_write_device() {
int index = 0;
if (!obj_edit_config.disk_write) {
obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&index, "-");
obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&index, NULL);
}
if (index == 0) {
obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&obj_edit_config.size_write, NULL);
obj_edit_config.size_write--;
}
return &obj_edit_config.disk_write;
}
char*** edit_get_select_read_device() {
int index = 0;
if (!obj_edit_config.disk_read) {
obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&index, "-");
obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&index, NULL);
}
if (index == 0) {
obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&obj_edit_config.size_read, NULL);
obj_edit_config.size_read--;
}
return &obj_edit_config.disk_read;
}
int edit_get_soft() {
@ -237,42 +211,24 @@ int edit_get_limit_swap() {
void edit_set_select_read_device(char*** str_value) {
if (str_value) {
if ((*str_value)) {
yon_char_parsed_copy(&obj_edit_config.disk_read, str_value);
if ((*str_value)[0] != NULL && strstr((*str_value)[0], "-") == NULL) {
yon_char_parsed_copy(&obj_edit_config.disk_read, str_value);
int index = yon_gtk_combo_box_text_find(edit_widgets->cbtTempDevice, (*str_value)[0]);
gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtTempDevice), index);
}
else {
obj_edit_config.size_read = 0;
}
}
else {
obj_edit_config.size_read = 0;
}
}
else {
obj_edit_config.size_read = 0;
}
}
void edit_set_select_write_device(char*** str_value) {
if (str_value) {
if ((*str_value)) {
yon_char_parsed_copy(&obj_edit_config.disk_write, str_value);
if ((*str_value)[0] != NULL && strstr((*str_value)[0], "-") == NULL) {
yon_char_parsed_copy(&obj_edit_config.disk_write, str_value);
int index = yon_gtk_combo_box_text_find(edit_widgets->cbtTempDevice, (*str_value)[0]);
gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtTempDevice), index);
}
else {
obj_edit_config.size_write = 0;
}
}
else {
obj_edit_config.size_write = 0;
}
}
else {
obj_edit_config.size_write = 0;
}
}
void edit_set_read_device(int* str_value, int* pow_mem) {
if (str_value && pow_mem) {
@ -300,12 +256,10 @@ void edit_set_write_device(int* str_value, int* pow_mem) {
}
}
void edit_set_size_arrays_write(size_t size_array) {
obj_edit_config.size_write = size_array;
}
void edit_set_size_arrays_read(size_t size_array) {
obj_edit_config.size_read = size_array;
void edit_set_size_arrays(size_t size_array) {
obj_edit_config.size_disk = size_array;
}
void edit_set_soft(int value, int pow_mem) {
edit_temp_set(value,pow_mem, edit_widgets->chkSoftRestrictionTemp,
edit_widgets->spiSevereRestrictionTemp,

@ -51,8 +51,7 @@ void edit_temp_set(int value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, Gt
int** edit_get_read_device_size_pow();
int** edit_get_write_device_size_pow();
void edit_set_size_arrays_read(size_t size_array);
void edit_set_size_arrays_write(size_t size_array);
void edit_set_size_arrays(size_t size_array);
int edit_get_soft_size();
int edit_get_hard_size();
int edit_get_limit_cpu_size();

Loading…
Cancel
Save