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

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

@ -275,12 +275,12 @@ void load_global_cfg() {
void clear_array() { void clear_array() {
philos_free_string_array(&main_config.type_quota, main_config.size_tree_view); 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.quota_volume , main_config.size_tree_view);
philos_free_string_array(&main_config.soft_raw_limit , main_config.size_tree_view); philos_free_int_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_int_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_int_array(&main_config.swap , main_config.size_tree_view);
philos_free_string_array(&main_config.cpu_limit, main_config.size_tree_view); philos_free_int_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_int_array_n2(&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_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_n3(&main_config.disk, main_config.size_tree_view);
philos_free_string_array(&main_config.array_del_line, main_config.size_array_del_line); 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, "-"); //main_config.disk = yon_char_parsed_append(main_config.disk, &index, "-");
//index--; //index--;
set_pow_size_memory("-", &main_config.type_quota_size, 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_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.quota_volume_size, index);
set_size_memory_integer("-", &main_config.quota_volume, index);
set_pow_size_memory("-", &main_config.cpu_limit_size, index); set_pow_size_memory("-", &main_config.cpu_limit_size, index);
set_size_memory_integer("-", &main_config.cpu_limit, 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) { 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; char** array_disk = NULL;
int* array_limit_size = NULL; int* array_limit_size = NULL;
int index_n2 = 0; 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) { 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--; index_n2--;
array_disk = yon_char_parsed_append(array_disk, &index_n2, NULL); array_disk = yon_char_parsed_append(array_disk, &index_n2, NULL);
index_n2--; index_n2--;
array_limit_size = philos_int_append(array_limit_size, &index_n2, -2); array_limit_size = philos_int_append(array_limit_size, &index_n2, -2);
if (strstr(key_find, "IOReadBandwidthMax")!=NULL) { 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.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**)); 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); 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); yon_char_parsed_copy(&main_config.disk[index_n1], &array_disk);
} }
else { 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.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**)); 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); 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); 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_string_array(&array_disk, index_n2);
philos_free_int_array(&array_limit_size, 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","%"}; char* simv_del_array[9] = {"K","M","G","T","k","m","g","t","%"};
for (size_t i = 0; i < 9; i++) { for (size_t i = 0; i < 9; i++) {
if (strstr(str_find, simv_del_array[i])) { if (strstr(str_find, simv_del_array[i])) {
str_find = yon_char_divide_search(str_find, simv_del_array[i], -1); 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) { if (strstr(str_find, " ") != NULL) {
char* mem_s = yon_char_new(str_find); char* mem_s = yon_char_new(str_find);
yon_char_divide_search(mem_s, " ", -1); 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) { void set_pow_size_memory(char* str_find, int** array_size,int index) {
size_t length = strlen(str_find); size_t length = strlen(str_find);
if (strstr(str_find,"K") != NULL) { if (strstr(str_find,"K") != NULL) {
@ -628,26 +645,26 @@ void tree_view_add(int index) {
main_config.size_tree_view--; 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.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.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.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.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.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.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.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**)); 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()); 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()); 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.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**)); 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()); 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()); main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size());
@ -697,16 +714,16 @@ 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; int index_to_n2 = 0;
char* str = ""; char* str = "";
while (1) { while (1) {
if (i_o_limit[index]!= NULL) { 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) { if (index_to_n2!=0) {
str = yon_char_unite(str, ",", str = yon_char_unite(str, ",",
disk[index][index_to_n2], " ", disk[index][index_to_n2], " ",
philos_format_cfg_str_size_memory(" ", i_o_limit[index][index_to_n2], i_o_limit_size[index][index_to_n2]), NULL); philos_format_cfg_str_size_memory(" ", i_o_limit[index][index_to_n2] , i_o_limit_size[index][index_to_n2]), NULL);
} }
else if (strstr(disk[index][index_to_n2], "-")){ else if (strstr(disk[index][index_to_n2], "-")){
str = yon_char_unite(str, ",", NULL); str = yon_char_unite(str, ",", NULL);
@ -758,11 +775,11 @@ int tree_view_edit() {
// philos_free_int_array(&main_config.i_o_limit_write_size[index], index); // philos_free_int_array(&main_config.i_o_limit_write_size[index], index);
// philos_free_string_array(&main_config.disk[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()); 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.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()); 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()); 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); int index = atoi(str_iter);
edit_show(NULL, glade_path); edit_show(NULL, glade_path);
edit_set_select_device(&main_config.disk[index]); 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_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_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_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_init_windows();
edit_set_limit_swap(main_config.swap[index], main_config.swap_size[index]); edit_set_limit_swap(main_config.swap[index], main_config.swap_size[index]);
edit_event(get_widget_edit()); edit_event(get_widget_edit());
@ -916,19 +933,19 @@ void tree_view_del_line() {
main_config.size_tree_view++; 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.quota_volume = yon_char_parsed_shrink(main_config.quota_volume, &main_config.size_tree_view,index);
main_config.size_tree_view++; 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.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.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.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.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.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.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.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); 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}; char split_simvol[2] = {0};
split_simvol[0] = 0; split_simvol[0] = 0;
split_simvol[1] = 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); 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[0] = ',';
split_simvol[1] = '\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); 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[0] = ',';
split_simvol[1] = '\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); 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[0] = ',';
split_simvol[1] = '\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); value = yon_char_unite(value ,split_simvol,"CPUQuota=", main_config.cpu_limit[index], NULL);
split_simvol[0] = ','; split_simvol[0] = ',';
split_simvol[1] = '\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); value = add_io_str_format_ubconfig(value, "IOWriteBandwidthMax", main_config.i_o_limit_write, main_config.disk, index);
return value; 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}; char split_simvol[2] = {0};
if (i_o_limit != NULL) { if (i_o_limit != NULL) {
if (i_o_limit[index] != NULL) { if (i_o_limit[index] != 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) { if (i==0) {
cmd_io = yon_char_unite(cmd_io, ",", key, "="); 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]; 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[0] = ',';
split_simvol[1] = '\0'; split_simvol[1] = '\0';
} }

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

@ -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)); (*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* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory) {
char* str_value = yon_char_new(str_source_value); char* str_value = yon_char_from_int(value);
if (strstr(str_value, "-")) { if (value == 0) {
return "-"; return "-";
} }
str_value = yon_char_divide_search(str_value, " ", -1); 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); 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); 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 (index_find != -1) {
if (flag_check_array==0) { 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_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
} }
else { 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_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]); 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) { 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_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
} }
else { 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_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]); 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() { void add_config_init() {
if (obj_add_config.size != 0) { 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.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_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); philos_free_int_array(&obj_add_config.i_o_limit_write_size, obj_add_config.size);
} }
obj_add_config.disk = NULL; obj_add_config.disk = NULL;
@ -183,14 +183,14 @@ void add_del_disk() {
obj_add_config.size++; 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.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.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.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); char* split_simvol = g_malloc0(sizeof(char)*2);
int flag_format = 0; int flag_format = 0;
char* cmd_old = yon_char_new(cmd); 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))) { 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.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.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--; obj_add_config.size--;
} }
else { 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.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.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--; obj_add_config.size--;
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { 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.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.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--; obj_add_config.size--;
} }
else { 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.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.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--;
} }
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); //obj_add_config.disk[index_find] = yon_char_new(disk);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) { 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_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 { else {
obj_add_config.i_o_limit_read_size[index_find] = -1; 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))) { 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_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 { else {
obj_add_config.i_o_limit_write_size[index_find] = -1; 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))) { 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.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.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--; obj_add_config.size--;
} }
else { 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.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.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--; obj_add_config.size--;
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { 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.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.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--; obj_add_config.size--;
} }
else { 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.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.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--;
} }
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() { int** 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); 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--; obj_add_config.size--;
return &obj_add_config.i_o_limit_read; return &obj_add_config.i_o_limit_read;
} }
@ -434,8 +434,8 @@ int** add_get_read_device_size_pow() {
obj_add_config.size--; obj_add_config.size--;
return &obj_add_config.i_o_limit_read_size; return &obj_add_config.i_o_limit_read_size;
} }
char*** add_get_write_device() { int** 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); 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--; obj_add_config.size--;
return &obj_add_config.i_o_limit_write; 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)); return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj));
} }
char* add_get_soft() { int add_get_soft() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd))); return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd));
} }
char* add_get_hard() { int add_get_hard() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd))); 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))) { 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 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitAdd));
return yon_char_from_int(size_bite);
} }
else { else {
char* str = (char*)malloc(sizeof(char*)*2); return 0;
str[0] = '-';
str[1] = '\0';
return str;
} }
} }
char* add_get_limit_swap() { int add_get_limit_swap() {
return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd))); return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd));
} }
char* add_get_quota_object() { char* add_get_quota_object() {
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaObj)); 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 { typedef struct {
config_str disk; config_str disk;
config_str i_o_limit_read; int* i_o_limit_read;
config_str i_o_limit_write; int* i_o_limit_write;
int* i_o_limit_read_size; int* i_o_limit_read_size;
int* i_o_limit_write_size; int* i_o_limit_write_size;
int size; int size;
@ -78,12 +78,12 @@ void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo,
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(); int** add_get_read_device();
char*** add_get_write_device(); int** add_get_write_device();
char* add_get_soft(); int add_get_soft();
char* add_get_hard(); int add_get_hard();
char* add_get_limit_cpu(); int add_get_limit_cpu();
char* add_get_limit_swap(); int add_get_limit_swap();
char* add_get_quota_object(); char* add_get_quota_object();
int** add_get_write_device_size_pow(); int** add_get_write_device_size_pow();

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

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

Loading…
Cancel
Save