Исправил часть багов с типами

pull/4/head
Igor Belitskiy 2 years ago
parent 505929e69e
commit 3f8aab0c58

@ -275,12 +275,12 @@ void load_global_cfg() {
void clear_array() {
philos_free_string_array(&main_config.type_quota, main_config.size_tree_view);
philos_free_string_array(&main_config.quota_volume , main_config.size_tree_view);
philos_free_string_array(&main_config.soft_raw_limit , main_config.size_tree_view);
philos_free_string_array(&main_config.hard_raw_limit , main_config.size_tree_view);
philos_free_string_array(&main_config.swap , main_config.size_tree_view);
philos_free_string_array(&main_config.cpu_limit, main_config.size_tree_view);
philos_free_string_array_n3(&main_config.i_o_limit_read, main_config.size_tree_view);
philos_free_string_array_n3(&main_config.i_o_limit_write, main_config.size_tree_view);
philos_free_int_array(&main_config.soft_raw_limit, main_config.size_tree_view);
philos_free_int_array(&main_config.hard_raw_limit, main_config.size_tree_view);
philos_free_int_array(&main_config.swap , main_config.size_tree_view);
philos_free_int_array(&main_config.cpu_limit, main_config.size_tree_view);
philos_free_int_array_n2(&main_config.i_o_limit_read, main_config.size_tree_view);
philos_free_int_array_n2(&main_config.i_o_limit_write, main_config.size_tree_view);
philos_free_string_array_n3(&main_config.disk, main_config.size_tree_view);
philos_free_string_array(&main_config.array_del_line, main_config.size_array_del_line);
@ -335,13 +335,10 @@ void init_cfg_array(int index) {
//main_config.disk = yon_char_parsed_append(main_config.disk, &index, "-");
//index--;
set_pow_size_memory("-", &main_config.type_quota_size, index);
set_size_memory_integer("-", &main_config.type_quota, index);
set_size_memory_integer_char("-", &main_config.type_quota, index);
set_pow_size_memory("-", &main_config.quota_volume_size, index);
set_size_memory_integer("-", &main_config.quota_volume, index);
set_pow_size_memory("-", &main_config.quota_volume_size, index);
set_size_memory_integer("-", &main_config.quota_volume, index);
set_size_memory_integer_char("-", &main_config.quota_volume, index);
set_pow_size_memory("-", &main_config.cpu_limit_size, index);
set_size_memory_integer("-", &main_config.cpu_limit, index);
@ -454,7 +451,7 @@ void str_split_value(char* values, int index) {
void get_param_io_limit(char** arr_values, int index_start, int size, int index_n1, char *key_find) {
char** array_limit = NULL;
int* array_limit = NULL;
char** array_disk = NULL;
int* array_limit_size = NULL;
int index_n2 = 0;
@ -495,40 +492,61 @@ void get_param_io_limit(char** arr_values, int index_start, int size, int index_
}
}
if (index_n2 != 0) {
array_limit = yon_char_parsed_append(array_limit, &index_n2, NULL);
array_limit = philos_int_append(array_limit, &index_n2, -2);
index_n2--;
array_disk = yon_char_parsed_append(array_disk, &index_n2, NULL);
index_n2--;
array_limit_size = philos_int_append(array_limit_size, &index_n2, -2);
if (strstr(key_find, "IOReadBandwidthMax")!=NULL) {
main_config.i_o_limit_read = yon_remalloc(main_config.i_o_limit_read, (index_n1 + 1) * sizeof(char**));
main_config.i_o_limit_read = yon_remalloc(main_config.i_o_limit_read, (index_n1 + 1) * sizeof(int));
main_config.i_o_limit_read_size = yon_remalloc(main_config.i_o_limit_read_size, (index_n1 + 1) * sizeof(int*));
main_config.disk = yon_remalloc(main_config.disk, (index_n1 + 1) * sizeof(char**));
yon_char_parsed_copy(&main_config.i_o_limit_read[index_n1], &array_limit);
philos_array_int_copy(&main_config.i_o_limit_read[index_n1], &array_limit);
philos_array_int_copy(&main_config.i_o_limit_read_size[index_n1], &array_limit_size);
yon_char_parsed_copy(&main_config.disk[index_n1], &array_disk);
}
else {
main_config.i_o_limit_write = yon_remalloc(main_config.i_o_limit_write, (index_n1 + 1) * sizeof(char**));
main_config.i_o_limit_write = yon_remalloc(main_config.i_o_limit_write, (index_n1 + 1) * sizeof(int));
main_config.i_o_limit_write_size = yon_remalloc(main_config.i_o_limit_write_size, (index_n1 + 1) * sizeof(int*));
main_config.disk = yon_remalloc(main_config.disk, (index_n1 + 1) * sizeof(char**));
yon_char_parsed_copy(&main_config.i_o_limit_write[index_n1], &array_limit);
philos_array_int_copy(&main_config.i_o_limit_write[index_n1], &array_limit);
philos_array_int_copy(&main_config.i_o_limit_write_size[index_n1], &array_limit_size);
yon_char_parsed_copy(&main_config.disk[index_n1], &array_disk);
}
philos_free_string_array(&array_limit, index_n2);
philos_free_int_array(&array_limit, index_n2);
philos_free_string_array(&array_disk, index_n2);
philos_free_int_array(&array_limit_size, index_n2);
}
}
void set_size_memory_integer(char* str_find, char*** array_data, int index) {
void set_size_memory_integer(char* str_find, int** array_data, int index) {
if (strstr(str_find, " ")) {
yon_char_divide_search(str_find, " ", -1);
}
char* simv_del_array[9] = {"K","M","G","T","k","m","g","t","%"};
for (size_t i = 0; i < 9; i++) {
if (strstr(str_find, simv_del_array[i])) {
str_find = yon_char_divide_search(str_find, simv_del_array[i], -1);
}
}
if (strstr(str_find, "-")==NULL) {
// Todo: Баг
puts(str_find);
printf("%d\n", strlen(str_find));
*array_data = philos_int_append(*array_data, &index, atoi(str_find));
}
}
void set_size_memory_integer_char(char* str_find, char*** array_data, int index) {
char* simv_del_array[10] = {"K","M","G","T","k","m","g","t"," ","%"};
for (size_t i = 0; i < 10; i++) {
if (strstr(str_find, simv_del_array[i])) {
str_find = yon_char_divide_search(str_find, simv_del_array[i], -1);
}
}
if (strstr(str_find, " ") != NULL) {
char* mem_s = yon_char_new(str_find);
yon_char_divide_search(mem_s, " ", -1);
@ -549,7 +567,6 @@ void set_size_memory_integer(char* str_find, char*** array_data, int index) {
}
}
void set_pow_size_memory(char* str_find, int** array_size,int index) {
size_t length = strlen(str_find);
if (strstr(str_find,"K") != NULL) {
@ -628,26 +645,26 @@ void tree_view_add(int index) {
main_config.size_tree_view--;
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 = yon_char_parsed_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft());
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 = yon_char_parsed_append(main_config.hard_raw_limit, &main_config.size_tree_view, add_get_hard());
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 = yon_char_parsed_append(main_config.swap, &main_config.size_tree_view, add_get_limit_swap());
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 = yon_char_parsed_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu());
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(char**));
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 = yon_remalloc(main_config.disk, (main_config.size_tree_view + 1) * sizeof(char**));
yon_char_parsed_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[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());
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 = 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*));
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[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());
main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size());
@ -697,12 +714,12 @@ void fill_tree_view(int start, int size, int flag_gui_add) {
}
}
char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int** i_o_limit_size, int index) {
char* format_io_limit_in_tree_view(config_str* disk, int** i_o_limit, int** i_o_limit_size, int index) {
int index_to_n2 = 0;
char* str = "";
while (1) {
if (i_o_limit[index]!= NULL) {
if (i_o_limit[index][index_to_n2] != NULL) {
if (i_o_limit[index][index_to_n2] != -2) {
if (index_to_n2!=0) {
str = yon_char_unite(str, ",",
disk[index][index_to_n2], " ",
@ -758,11 +775,11 @@ int tree_view_edit() {
// philos_free_int_array(&main_config.i_o_limit_write_size[index], index);
// philos_free_string_array(&main_config.disk[index], index);
yon_char_parsed_copy(&main_config.i_o_limit_read[index], edit_get_read_device());
philos_array_int_copy(&main_config.i_o_limit_read[index], edit_get_read_device());
philos_array_int_copy(&main_config.i_o_limit_read_size[index], edit_get_read_device_size_pow());
yon_char_parsed_copy(&main_config.disk[index], edit_get_select_device());
yon_char_parsed_copy(&main_config.i_o_limit_write[index], edit_get_write_device());
philos_array_int_copy(&main_config.i_o_limit_write[index], edit_get_write_device());
philos_array_int_copy(&main_config.i_o_limit_write_size[index], edit_get_write_device_size_pow());
yon_char_parsed_copy(&main_config.disk[index], edit_get_select_device());
@ -876,11 +893,11 @@ void wrapper_edit_show() {
int index = atoi(str_iter);
edit_show(NULL, glade_path);
edit_set_select_device(&main_config.disk[index]);
edit_set_read_device(&main_config.i_o_limit_read[index], &main_config.i_o_limit_read_size[index]);
edit_set_read_device(main_config.i_o_limit_read[index], main_config.i_o_limit_read_size[index]);
edit_set_hard(main_config.hard_raw_limit[index], main_config.hard_raw_limit_size[index]);
edit_set_limit_cpu(main_config.cpu_limit[index], main_config.cpu_limit_size[index]);
edit_set_soft(main_config.soft_raw_limit[index], main_config.soft_raw_limit_size[index]);
edit_set_write_device(&main_config.i_o_limit_write[index], &main_config.i_o_limit_write_size[index]);
edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]);
edit_init_windows();
edit_set_limit_swap(main_config.swap[index], main_config.swap_size[index]);
edit_event(get_widget_edit());
@ -916,19 +933,19 @@ void tree_view_del_line() {
main_config.size_tree_view++;
main_config.quota_volume = yon_char_parsed_shrink(main_config.quota_volume, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.soft_raw_limit = yon_char_parsed_shrink(main_config.soft_raw_limit, &main_config.size_tree_view,index);
main_config.soft_raw_limit = remove_element_int_array(main_config.soft_raw_limit, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.hard_raw_limit = yon_char_parsed_shrink(main_config.hard_raw_limit, &main_config.size_tree_view,index);
main_config.hard_raw_limit = remove_element_int_array(main_config.hard_raw_limit, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.swap = yon_char_parsed_shrink(main_config.swap, &main_config.size_tree_view,index);
main_config.swap = remove_element_int_array(main_config.swap, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.cpu_limit = yon_char_parsed_shrink(main_config.cpu_limit, &main_config.size_tree_view,index);
main_config.cpu_limit = remove_element_int_array(main_config.cpu_limit, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.i_o_limit_read = yon_char_parsed_shrink_n3(main_config.i_o_limit_read, &main_config.size_tree_view,index);
main_config.i_o_limit_read = remove_element_int_array_n3(main_config.i_o_limit_read, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.i_o_limit_write = yon_char_parsed_shrink_n3(main_config.i_o_limit_write, &main_config.size_tree_view,index);
main_config.i_o_limit_write = remove_element_int_array_n3(main_config.i_o_limit_write, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.i_o_limit_write = yon_char_parsed_shrink_n3(main_config.disk, &main_config.size_tree_view,index);
main_config.disk = yon_char_parsed_shrink_n3(main_config.disk, &main_config.size_tree_view,index);
main_config.size_tree_view++;
main_config.i_o_limit_read_size = remove_element_int_array_n3(main_config.i_o_limit_read_size, &main_config.size_tree_view,index);
@ -1005,22 +1022,22 @@ char* save_format_value(int index) {
char split_simvol[2] = {0};
split_simvol[0] = 0;
split_simvol[1] = 0;
if (strstr(main_config.soft_raw_limit[index], "-") == NULL) {
if (main_config.soft_raw_limit[index]==0) {
value = yon_char_unite(philos_format_cfg_str_size_memory("MemoryHigh=", main_config.soft_raw_limit[index],main_config.soft_raw_limit_size[index]),NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (strstr(main_config.hard_raw_limit[index], "-") == NULL) {
if (main_config.hard_raw_limit[index]==0) {
value = yon_char_unite(value ,split_simvol, philos_format_cfg_str_size_memory("MemoryMax=", main_config.hard_raw_limit[index],main_config.hard_raw_limit_size[index]), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (strstr(main_config.swap[index], "-") == NULL) {
if (main_config.swap[index]==0) {
value = yon_char_unite(value ,split_simvol, philos_format_cfg_str_size_memory("MemorySwapMax=", main_config.swap[index],main_config.swap_size[index]), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (strstr(main_config.cpu_limit[index], "-") == NULL) {
if (main_config.cpu_limit[index]==0) {
value = yon_char_unite(value ,split_simvol,"CPUQuota=", main_config.cpu_limit[index], NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
@ -1029,18 +1046,18 @@ char* save_format_value(int index) {
value = add_io_str_format_ubconfig(value, "IOWriteBandwidthMax", main_config.i_o_limit_write, main_config.disk, index);
return value;
}
char* add_io_str_format_ubconfig(char* cmd_io, char* key, char*** i_o_limit, char*** disk, int index) {
char* add_io_str_format_ubconfig(char* cmd_io, char* key, int** i_o_limit, char*** disk, int index) {
char split_simvol[2] = {0};
if (i_o_limit != NULL) {
if (i_o_limit[index] != NULL) {
if (i_o_limit[index] != NULL) {
for (int i = 0;i_o_limit[index][i] != NULL; i++) {
for (int i = 0;i_o_limit[index][i] != -2; i++) {
if (i==0) {
cmd_io = yon_char_unite(cmd_io, ",", key, "=");
}
char* read_limit = i_o_limit[index][i];
int read_limit = i_o_limit[index][i];
char* read_limit_disk = disk[index][i];
cmd_io = yon_char_unite(cmd_io, split_simvol, read_limit_disk, " ", read_limit);
cmd_io = yon_char_unite(cmd_io, split_simvol, read_limit_disk, " ", yon_char_from_int(read_limit));
split_simvol[0] = ',';
split_simvol[1] = '\0';
}

@ -43,7 +43,7 @@
#define CMD_GET_GROUP "cut -d: -f1 /etc/group"
typedef char *string;
string version_application = "1.2-41-gb204172";
string version_application = "1.2-42-g505929e";
static char *local;
@ -75,12 +75,12 @@ typedef struct
render_data status_render;
config_str type_quota;
config_str quota_volume;
config_str soft_raw_limit;
config_str hard_raw_limit;
config_str swap;
config_str cpu_limit;
config_str* i_o_limit_read;
config_str* i_o_limit_write;
int* soft_raw_limit;
int* hard_raw_limit;
int* swap;
int* cpu_limit;
int** i_o_limit_read;
int** i_o_limit_write;
config_str* disk;
config_str array_del_line;
int size_array_del_line;
@ -202,7 +202,8 @@ void load_system_cfg();
void load_global_cfg();
void template_load_cfg(char *cmd, dictionary *load_cfg);
void str_split_value(char *values, int index);
void set_size_memory_integer(char* str_find, char*** array_data, int index);
void set_size_memory_integer(char* str_find, int** array_data, int index);
void set_size_memory_integer_char(char* str_find, char*** array_data, int index);
void set_pow_size_memory(char* str_find, int** array_size, int index);
void str_split_key(char *source_value, int index);
void fill_tree_view(int start, int size, int flag_gui_add);
@ -217,5 +218,5 @@ char* template_format_str_remove_save(dictionary* load_cfg, char* source_remove_
char* template_format_str_set_save(dictionary* load_cfg, 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, char*** i_o_limit, char*** disk_read, int index);
char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int** i_o_limit_size, int index);
char* add_io_str_format_ubconfig(char* cmd_io, char* key, int** i_o_limit, 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);

@ -670,9 +670,9 @@ void philos_split_size_memory(char* str_value, int* size, char* pow_memory) {
(*size) = atoi(yon_char_divide_search(pow_memory, " ", -1));
}
char* philos_format_cfg_str_size_memory(char* str_key, char* str_source_value, int pow_size_memory) {
char* str_value = yon_char_new(str_source_value);
if (strstr(str_value, "-")) {
char* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory) {
char* str_value = yon_char_from_int(value);
if (value == 0) {
return "-";
}
str_value = yon_char_divide_search(str_value, " ", -1);

@ -152,7 +152,7 @@ char *yon_char_replace(char *source, char *find, char*replace);
void philos_split_size_memory(char* str_value, int* size, char* pow_memory);
char* philos_format_cfg_str_size_memory(char* str_key, char* str_source_value, int pow_size_memory);
char* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory);
char **yon_char_parse(char *parameters, int *size, char *divider);

@ -69,26 +69,26 @@ void update_device_to_entry(GtkWidget *combo_box, GtkWidget *combo_box_size, Gtk
}
if (index_find != -1) {
if (flag_check_array==0) {
if (strstr(obj_add_config.i_o_limit_read[index_find],"-")) {
if (obj_add_config.i_o_limit_read[index_find]==-2) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_read[index_find]));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), obj_add_config.i_o_limit_read[index_find]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_read_size[index_find]);
}
}
else if (flag_check_array==1) {
if (strstr(obj_add_config.i_o_limit_write[index_find],"-")) {
if (obj_add_config.i_o_limit_write[index_find]==-2) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_write[index_find]));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), obj_add_config.i_o_limit_write[index_find]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_write_size[index_find]);
}
@ -115,9 +115,9 @@ void update_device_to_entry(GtkWidget *combo_box, GtkWidget *combo_box_size, Gtk
void add_config_init() {
if (obj_add_config.size != 0) {
philos_free_string_array(&obj_add_config.disk, obj_add_config.size);
philos_free_string_array(&obj_add_config.i_o_limit_read, obj_add_config.size);
philos_free_int_array(&obj_add_config.i_o_limit_read, obj_add_config.size);
philos_free_int_array(&obj_add_config.i_o_limit_read_size, obj_add_config.size);
philos_free_string_array(&obj_add_config.i_o_limit_write, obj_add_config.size);
philos_free_int_array(&obj_add_config.i_o_limit_write, obj_add_config.size);
philos_free_int_array(&obj_add_config.i_o_limit_write_size, obj_add_config.size);
}
obj_add_config.disk = NULL;
@ -183,14 +183,14 @@ void add_del_disk() {
obj_add_config.size++;
obj_add_config.i_o_limit_write_size = remove_element_int_array(obj_add_config.i_o_limit_write_size,&obj_add_config.size, index_find);
obj_add_config.size++;
obj_add_config.i_o_limit_read = yon_char_parsed_shrink(obj_add_config.i_o_limit_read,&obj_add_config.size, index_find);
obj_add_config.i_o_limit_read = remove_element_int_array(obj_add_config.i_o_limit_read,&obj_add_config.size, index_find);
obj_add_config.size++;
obj_add_config.i_o_limit_write = yon_char_parsed_shrink(obj_add_config.i_o_limit_write,&obj_add_config.size, index_find);
obj_add_config.i_o_limit_write = remove_element_int_array(obj_add_config.i_o_limit_write,&obj_add_config.size, index_find);
}
}
}
char* pard_array_add_cmd(char* cmd, char* key, char** array_io, int* array_io_pow_size) {
char* pard_array_add_cmd(char* cmd, char* key, int* 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);
@ -250,25 +250,25 @@ void add_disk_all(){
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_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
obj_add_config.size--;
}
else {
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,-1);
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,"-");
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,-1);
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_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_spin_button_get_value_as_int(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.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,-1);
obj_add_config.size--;
}
obj_add_config.size++;
@ -279,19 +279,19 @@ void add_disk_all(){
//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_read[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
obj_add_config.i_o_limit_read[index_find] = 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] = "-";
obj_add_config.i_o_limit_read[index_find] = -1;
}
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)));
obj_add_config.i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite));
}
else {
obj_add_config.i_o_limit_write_size[index_find] = -1;
obj_add_config.i_o_limit_write[index_find] = "-";
obj_add_config.i_o_limit_write[index_find] = -1;
}
}
}
@ -302,25 +302,25 @@ void add_disk_all(){
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_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
obj_add_config.size--;
}
else {
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,-1);
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,"-");
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,-1);
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_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_spin_button_get_value_as_int(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.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,-1);
obj_add_config.size--;
}
obj_add_config.size++;
@ -424,8 +424,8 @@ char* add_get_select_device_to_level_2() {
}
}
char*** add_get_read_device() {
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size, NULL);
int** add_get_read_device() {
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size, -2);
obj_add_config.size--;
return &obj_add_config.i_o_limit_read;
}
@ -434,8 +434,8 @@ int** add_get_read_device_size_pow() {
obj_add_config.size--;
return &obj_add_config.i_o_limit_read_size;
}
char*** add_get_write_device() {
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &obj_add_config.size, NULL);
int** add_get_write_device() {
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write, &obj_add_config.size, -2);
obj_add_config.size--;
return &obj_add_config.i_o_limit_write;
}
@ -466,26 +466,22 @@ int add_get_quota_object_size() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj));
}
char* add_get_soft() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd)));
int add_get_soft() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd));
}
char* add_get_hard() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd)));
int add_get_hard() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd));
}
char* add_get_limit_cpu() {
int add_get_limit_cpu() {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkCPULimitAdd))) {
int size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitAdd));
return yon_char_from_int(size_bite);
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitAdd));
}
else {
char* str = (char*)malloc(sizeof(char*)*2);
str[0] = '-';
str[1] = '\0';
return str;
return 0;
}
}
char* add_get_limit_swap() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd)));
int add_get_limit_swap() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd));
}
char* add_get_quota_object() {
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaObj));

@ -23,8 +23,8 @@ static char* CMD_GET_SLICE_SERVICE;
typedef struct {
config_str disk;
config_str i_o_limit_read;
config_str i_o_limit_write;
int* i_o_limit_read;
int* i_o_limit_write;
int* i_o_limit_read_size;
int* i_o_limit_write_size;
int size;
@ -78,12 +78,12 @@ void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo,
void add_init_windows();
void add_update_combo_box();
char*** add_get_select_device();
char*** add_get_read_device();
char*** add_get_write_device();
char* add_get_soft();
char* add_get_hard();
char* add_get_limit_cpu();
char* add_get_limit_swap();
int** add_get_read_device();
int** add_get_write_device();
int add_get_soft();
int add_get_hard();
int add_get_limit_cpu();
int add_get_limit_swap();
char* add_get_quota_object();
int** add_get_write_device_size_pow();

@ -49,8 +49,8 @@ edit_window *edit_setup_window(char* glade_path){
void edit_config_init() {
if (obj_edit_config.size != 0) {
philos_free_string_array(&obj_edit_config.disk, obj_edit_config.size);
philos_free_string_array(&obj_edit_config.i_o_limit_read, obj_edit_config.size);
philos_free_string_array(&obj_edit_config.i_o_limit_write, obj_edit_config.size);
philos_free_int_array(&obj_edit_config.i_o_limit_read, obj_edit_config.size);
philos_free_int_array(&obj_edit_config.i_o_limit_write, obj_edit_config.size);
philos_free_int_array(&obj_edit_config.i_o_limit_read_size, obj_edit_config.size);
philos_free_int_array(&obj_edit_config.i_o_limit_write_size, obj_edit_config.size);
}
@ -142,36 +142,24 @@ int edit_get_limit_swap_size() {
return gtk_combo_box_get_active(GTK_COMBO_BOX(edit_widgets->cmbPaddingFLEdit));
}
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);
}
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, -2);
obj_edit_config.size--;
return &obj_edit_config.i_o_limit_read;
}
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);
}
obj_edit_config.i_o_limit_read_size = philos_int_append(obj_edit_config.i_o_limit_read_size,&obj_edit_config.size, -2);
obj_edit_config.size--;
return &obj_edit_config.i_o_limit_read_size;
}
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);
}
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, -2);
obj_edit_config.size--;
return &obj_edit_config.i_o_limit_write;
}
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);
}
obj_edit_config.i_o_limit_write_size = philos_int_append(obj_edit_config.i_o_limit_write_size,&obj_edit_config.size, -2);
obj_edit_config.size--;
return &obj_edit_config.i_o_limit_write_size;
}
char*** edit_get_select_device() {
@ -182,26 +170,22 @@ char*** edit_get_select_device() {
}
return &obj_edit_config.disk;
}
char* edit_get_soft() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spiSevereRestrictionEdit)));
int edit_get_soft() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spiSevereRestrictionEdit));
}
char* edit_get_hard() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinSevereRestrictionEdit)));
int edit_get_hard() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinSevereRestrictionEdit));
}
char* edit_get_limit_cpu() {
int edit_get_limit_cpu() {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(edit_widgets->chkCPULimitEdit))) {
int size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinCPULimitEdit));
return yon_char_from_int(size_bite);
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinCPULimitEdit));
}
else {
char* str = (char*)malloc(sizeof(char*)*2);
str[0] = '-';
str[1] = '\0';
return str;
return 0;
}
}
char* edit_get_limit_swap() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinPaddingFLEdit)));
int edit_get_limit_swap() {
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinPaddingFLEdit));
}
// =================================================================
@ -218,56 +202,56 @@ void edit_set_select_device(char*** str_value) {
}
void edit_set_read_device(char*** str_value, int** pow_mem) {
if ((*str_value) == NULL || (*pow_mem) == NULL) {
void edit_set_read_device(int* str_value, int* pow_mem) {
if (str_value == NULL || pow_mem == NULL) {
return;
}
if ((*str_value)[0] == NULL || (*pow_mem)[0] == -2) {
if (str_value[0] == -2 || pow_mem[0] == -2) {
return;
}
edit_temp_set((*str_value)[0],(*pow_mem)[0], edit_widgets->chbEditRead,
edit_temp_set(str_value[0],pow_mem[0], edit_widgets->chbEditRead,
edit_widgets->spinEditRead,
edit_widgets->cbtEditRead);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(edit_widgets->chbEditRead), 1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(edit_widgets->chbEditWrite), 1);
}
void edit_set_write_device(char*** str_value, int** pow_mem) {
if ((*str_value) == NULL || (*pow_mem) == NULL) {
void edit_set_write_device(int* str_value, int* pow_mem) {
if (str_value == NULL || pow_mem == NULL) {
return;
}
if ((*str_value)[0] == NULL || (*pow_mem)[0] == -2) {
if (str_value[0] == -2 || pow_mem[0] == -2) {
return;
}
else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(edit_widgets->chbEditWrite), 1);
}
edit_temp_set((*str_value)[0],(*pow_mem)[0], edit_widgets->chbEditWrite,
edit_temp_set(str_value[0],pow_mem[0], edit_widgets->chbEditWrite,
edit_widgets->spinEditWrite,
edit_widgets->cbtEditWrite);
}
void edit_set_soft(char* str_value, int pow_mem) {
edit_temp_set(str_value,pow_mem, edit_widgets->chkSoftRestrictionEdit,
void edit_set_soft(int value, int pow_mem) {
edit_temp_set(value,pow_mem, edit_widgets->chkSoftRestrictionEdit,
edit_widgets->spiSevereRestrictionEdit,
edit_widgets->cmSevereRestrictionEdit);
}
void edit_set_hard(char* str_value, int pow_mem) {
edit_temp_set(str_value,pow_mem, edit_widgets->chkSevereRestrictionEdit,
void edit_set_hard(int value, int pow_mem) {
edit_temp_set(value,pow_mem, edit_widgets->chkSevereRestrictionEdit,
edit_widgets->spinSevereRestrictionEdit,
edit_widgets->cmbSevereRestrictionEdit);
}
void edit_set_limit_cpu(char* str_value, int pow_mem) {
edit_temp_set(str_value,pow_mem, edit_widgets->chkCPULimitEdit,
void edit_set_limit_cpu(int value, int pow_mem) {
edit_temp_set(value,pow_mem, edit_widgets->chkCPULimitEdit,
edit_widgets->spinCPULimitEdit,
NULL);
}
void edit_set_limit_swap(char* str_value, int pow_mem) {
edit_temp_set(str_value,pow_mem, edit_widgets->chkPaddingFLEdit,
void edit_set_limit_swap(int value, int pow_mem) {
edit_temp_set(value,pow_mem, edit_widgets->chkPaddingFLEdit,
edit_widgets->spinPaddingFLEdit,
edit_widgets->cmbPaddingFLEdit);
}
void edit_temp_set(char* str_value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, GtkWidget* combo_box_text) {
void edit_temp_set(int value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, GtkWidget* combo_box_text) {
char* search = "-";
char* mem_size_pow = yon_char_new(str_value);
char* mem_size_pow = yon_char_from_int(value);
if (strstr(mem_size_pow, search) == 0) {
int value = atoi(yon_char_divide_search(mem_size_pow, " ", -1));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value);

@ -19,8 +19,8 @@
// Переменные
typedef struct {
config_str disk;
config_str i_o_limit_read;
config_str i_o_limit_write;
int* i_o_limit_read;
int* i_o_limit_write;
int* i_o_limit_read_size;
int* i_o_limit_write_size;
int size;
@ -69,22 +69,22 @@ void edit_init_windows();
void wrapper_edit_init_windows_size_memory(GtkWidget *spin);
void edit_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
char*** edit_get_select_device();
char*** edit_get_read_device();
char*** edit_get_write_device();
char* edit_get_soft();
char* edit_get_hard();
char* edit_get_limit_cpu();
char* edit_get_limit_swap();
int** edit_get_read_device();
int** edit_get_write_device();
int edit_get_soft();
int edit_get_hard();
int edit_get_limit_cpu();
int edit_get_limit_swap();
void edit_generate_cmd();
void wrapper_edit_show();
void edit_set_select_device(char*** str_value);
void edit_set_read_device(char*** str_value, int** pow_mem);
void edit_set_write_device(char*** str_value, int** pow_mem);
void edit_set_soft(char* str_value, int pow_mem);
void edit_set_hard(char* str_value, int pow_mem);
void edit_set_limit_cpu(char* str_value, int pow_mem);
void edit_set_limit_swap(char* str_value, int pow_mem);
void edit_temp_set(char* str_value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, GtkWidget* combo_box_text);
void edit_set_read_device(int* str_value, int* pow_mem);
void edit_set_write_device(int* str_value, int* pow_mem);
void edit_set_soft(int value, int pow_mem);
void edit_set_hard(int value, int pow_mem);
void edit_set_limit_cpu(int value, int pow_mem);
void edit_set_limit_swap(int value, int pow_mem);
void edit_temp_set(int value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, GtkWidget* combo_box_text);
int** edit_get_read_device_size_pow();
int** edit_get_write_device_size_pow();

Loading…
Cancel
Save