From f64a4b27a0bad8f0fa7447f6412963b165071a8b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 27 Nov 2023 10:41:33 +0600 Subject: [PATCH] Fixed crash --- source/ubl-settings-logging.c | 58 ++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-logging.c b/source/ubl-settings-logging.c index 9c089cc..dd48ac5 100644 --- a/source/ubl-settings-logging.c +++ b/source/ubl-settings-logging.c @@ -143,12 +143,15 @@ void yon_logs_custom_save(main_window *widgets){ char *final_strings=NULL; for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->list),&iter)){ gtk_tree_model_get(GTK_TREE_MODEL(widgets->list),&iter,0,&name,1,&paths,2,&description,3,&standard,4,&standard_paths,-1); - if (standard!=1){ - for (int i=0;ilast_mode){ + case 0: + fl = popen(get_journal_output_command,"r"); + break; + case 1: + fl = popen(get_journal_output_since_boot_command,"r"); + break; + case 2: + fl = popen(get_journal_output_followed_command,"r"); + break; + case 3: + fl = popen(get_journal_output_kernel_command,"r"); + break; + case 4: + fl = popen(get_journal_output_prioritied_command,"r"); + break; + case 5: + fl = popen(get_journal_all_boots_command,"r"); + break; + case 6: + fl = popen(get_journal_all_units_command,"r"); + break; + case 7: + fl = popen(get_journal_init_tree_command,"r"); + break; + } + char output[4092]; + GtkTreeIter iter; + // while (1){ + // if(fgets(output,4092,fl)){ + // gtk_list_store_append(window->list, &iter); + + // gtk_list_store_set(window->list,&iter,0,&); + // } + // } +} + void on_inspector_update(GtkWidget *self, inspector_window *window){ int size; GtkTextIter titer,titerend; @@ -1758,6 +1801,11 @@ void on_log_save(GtkWidget *self, dictionary *dict){ int fo=0; int so=0; int paths_size; + if (!pathse){ + yon_ubl_status_highlight_incorrect(window->LogPathsBox); + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } config_str paths_parsed = yon_char_parse(pathse,&paths_size,"\n"); if (yon_char_parsed_check_repeats(paths_parsed,paths_size,&fo,&so)){ GList *list = gtk_container_get_children(GTK_CONTAINER(window->LogPathsBox));