@ -624,7 +624,11 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
paths = yon_char_unite ( paths , strcmp ( paths , " " ) ? " , " : " " , cur_path , NULL ) ;
paths = yon_char_unite ( paths , strcmp ( paths , " " ) ? " , " : " " , cur_path , NULL ) ;
}
}
if ( ! window - > paths )
if ( ! window - > paths )
if ( matched = = path_amount ) return ;
if ( matched = = path_amount ) {
yon_ubl_status_highlight_incorrect ( gtk_widget_get_parent ( window - > LogPathsTree ) ) ;
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , REPEATED_PATHS_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
return ;
}
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) ) ) {
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) ) ) {
int active = gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) ) ;
int active = gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) ) ;
switch ( active ) {
switch ( active ) {
@ -636,7 +640,7 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
int weekday = gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > RotationPeriodAdditionalCombo ) ) ;
int weekday = gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > RotationPeriodAdditionalCombo ) ) ;
weekday + + ;
weekday + + ;
if ( weekday = = 7 ) weekday = 0 ;
if ( weekday = = 7 ) weekday = 0 ;
period = yon_char_unite ( period , " , " , yon_char_from_int ( weekday ) , NULL ) ;
period = yon_char_unite ( period , " " , yon_char_from_int ( weekday ) , NULL ) ;
break ;
break ;
case 3 : period = " monthly " ;
case 3 : period = " monthly " ;
break ;
break ;
@ -776,22 +780,22 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
if ( ! yon_char_is_empty ( before_once ) ) {
if ( ! yon_char_is_empty ( before_once ) ) {
before_once = yon_char_replace ( before_once , " \" " , " =-- " ) ;
before_once = yon_char_replace ( before_once , " \" " , " =-- " ) ;
before_once = yon_char_replace ( before_once , " =-- " , " \\ \" " ) ;
before_once = yon_char_replace ( before_once , " =-- " , " \\ \" " ) ;
firstaction = yon_char_append ( " firstaction " , before_once ) ;
firstaction = yon_char_append ( " firstaction , " , before_once ) ;
}
}
if ( ! yon_char_is_empty ( after_once ) ) {
if ( ! yon_char_is_empty ( after_once ) ) {
after_once = yon_char_replace ( after_once , " \" " , " =-- " ) ;
after_once = yon_char_replace ( after_once , " \" " , " =-- " ) ;
after_once = yon_char_replace ( after_once , " =-- " , " \\ \" " ) ;
after_once = yon_char_replace ( after_once , " =-- " , " \\ \" " ) ;
lastaction = yon_char_append ( " lastaction " , after_once ) ;
lastaction = yon_char_append ( " lastaction , " , after_once ) ;
}
}
if ( ! yon_char_is_empty ( before ) ) {
if ( ! yon_char_is_empty ( before ) ) {
before = yon_char_replace ( before , " \" " , " =-- " ) ;
before = yon_char_replace ( before , " \" " , " =-- " ) ;
before = yon_char_replace ( before , " =-- " , " \\ \" " ) ;
before = yon_char_replace ( before , " =-- " , " \\ \" " ) ;
prerotate = yon_char_append ( " prerotate " , before ) ;
prerotate = yon_char_append ( " prerotate , " , before ) ;
}
}
if ( ! yon_char_is_empty ( after ) ) {
if ( ! yon_char_is_empty ( after ) ) {
after = yon_char_replace ( after , " \" " , " =-- " ) ;
after = yon_char_replace ( after , " \" " , " =-- " ) ;
after = yon_char_replace ( after , " =-- " , " \\ \" " ) ;
after = yon_char_replace ( after , " =-- " , " \\ \" " ) ;
postrotate = yon_char_append ( " postrotate " , after ) ;
postrotate = yon_char_append ( " postrotate , " , after ) ;
}
}
if ( ! yon_char_is_empty ( firstaction ) | | ! yon_char_is_empty ( after_once ) | | ! yon_char_is_empty ( before ) | | ! yon_char_is_empty ( after ) )
if ( ! yon_char_is_empty ( firstaction ) | | ! yon_char_is_empty ( after_once ) | | ! yon_char_is_empty ( before ) | | ! yon_char_is_empty ( after ) )
endscript = yon_char_append ( " endscript " , endwork ) ;
endscript = yon_char_append ( " endscript " , endwork ) ;
@ -883,6 +887,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
window - > CommandBeforeEntry = yon_gtk_builder_get_widget ( builder , " CommandBeforeEntry " ) ;
window - > CommandBeforeEntry = yon_gtk_builder_get_widget ( builder , " CommandBeforeEntry " ) ;
window - > CommandAfterEntry = yon_gtk_builder_get_widget ( builder , " CommandAfterEntry " ) ;
window - > CommandAfterEntry = yon_gtk_builder_get_widget ( builder , " CommandAfterEntry " ) ;
window - > EndworkCommandEntry = yon_gtk_builder_get_widget ( builder , " EndworkCommandEntry " ) ;
window - > EndworkCommandEntry = yon_gtk_builder_get_widget ( builder , " EndworkCommandEntry " ) ;
window - > StatusBox = yon_gtk_builder_get_widget ( builder , " StatusBox " ) ;
gtk_window_set_title ( GTK_WINDOW ( window - > MainWindow ) , TITLE_LABEL ) ;
gtk_window_set_title ( GTK_WINDOW ( window - > MainWindow ) , TITLE_LABEL ) ;
if ( dialog )
if ( dialog )
gtk_window_set_transient_for ( GTK_WINDOW ( window - > MainWindow ) , GTK_WINDOW ( dialog - > Window ) ) ;
gtk_window_set_transient_for ( GTK_WINDOW ( window - > MainWindow ) , GTK_WINDOW ( dialog - > Window ) ) ;
@ -953,6 +958,8 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
g_signal_connect ( G_OBJECT ( window - > EmailCombo ) , " changed " , G_CALLBACK ( on_combo_activate_first ) , window - > EmailEntry ) ;
g_signal_connect ( G_OBJECT ( window - > EmailCombo ) , " changed " , G_CALLBACK ( on_combo_activate_first ) , window - > EmailEntry ) ;
g_signal_connect ( G_OBJECT ( window - > EmailCombo ) , " changed " , G_CALLBACK ( on_combo_activate_first ) , window - > EmailContentsCombo ) ;
g_signal_connect ( G_OBJECT ( window - > EmailCombo ) , " changed " , G_CALLBACK ( on_combo_activate_first ) , window - > EmailContentsCombo ) ;
g_signal_connect ( G_OBJECT ( window - > RotationPeriodMainCombo ) , " changed " , G_CALLBACK ( on_combo_activate_second ) , window - > RotationPeriodAdditionalCombo ) ;
g_signal_connect ( G_OBJECT ( window - > FileAmountButton ) , " clicked " , G_CALLBACK ( on_filechooser_open ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > FileAmountButton ) , " clicked " , G_CALLBACK ( on_filechooser_open ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > CreateLogButton ) , " clicked " , G_CALLBACK ( on_rules_open ) , window - > CreateLogEntry ) ;
g_signal_connect ( G_OBJECT ( window - > CreateLogButton ) , " clicked " , G_CALLBACK ( on_rules_open ) , window - > CreateLogEntry ) ;
@ -986,10 +993,13 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
} else if ( ! strcmp ( parsed [ i ] , " daily " ) ) {
} else if ( ! strcmp ( parsed [ i ] , " daily " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 1 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 1 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) , 1 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) , 1 ) ;
} else if ( ! strcmp ( parsed [ i ] , " weekly " ) ) {
} else if ( strstr ( parsed [ i ] , " weekly " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 2 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 2 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) , 1 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > RotationPeriodCheck ) , 1 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodAdditionalCombo ) , atoi ( parsed [ i + 1 ] ) ) ;
int dayofweek = atoi ( strstr ( parsed [ i ] , " " ) + 1 ) ;
if ( dayofweek = = 0 ) dayofweek = 7 ;
dayofweek - - ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodAdditionalCombo ) , dayofweek ) ;
} else if ( ! strcmp ( parsed [ i ] , " monthly " ) ) {
} else if ( ! strcmp ( parsed [ i ] , " monthly " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 3 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > RotationPeriodMainCombo ) , 3 ) ;
} else if ( ! strcmp ( parsed [ i ] , " yearly " ) ) {
} else if ( ! strcmp ( parsed [ i ] , " yearly " ) ) {
@ -1039,7 +1049,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
//
//
} else if ( strstr ( parsed [ i ] , " size " ) ) {
} else if ( strstr ( parsed [ i ] , " size " ) ) {
int sizemod = yon_size_get_int_from_letter ( parsed [ i ] [ strlen ( parsed [ i ] ) - 1 ] ) ;
int sizemod = yon_size_get_int_from_letter ( parsed [ i ] [ strlen ( parsed [ i ] ) - 1 ] ) ;
gtk_spin_button_set_value ( GTK_SPIN_BUTTON ( window - > JournalMaxSizeSpin ) , atol ( parsed [ i ] ) ) ;
gtk_spin_button_set_value ( GTK_SPIN_BUTTON ( window - > JournalMaxSizeSpin ) , atol ( strstr ( parsed [ i ] , " " ) + 1 ) ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > JournalMaxSizeCombo ) , sizemod ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > JournalMaxSizeCombo ) , sizemod ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > JournalMaxSizeCheck ) , 1 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > JournalMaxSizeCheck ) , 1 ) ;
} else if ( ! strcmp ( parsed [ i ] , " copytruncate " ) ) {
} else if ( ! strcmp ( parsed [ i ] , " copytruncate " ) ) {
@ -1111,6 +1121,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
void on_logrotate_add ( GtkWidget * self , logrotate_window * dialog ) {
void on_logrotate_add ( GtkWidget * self , logrotate_window * dialog ) {
logrotate_configure_window * window = yon_logrotate_window_new ( NULL , NULL ) ;
logrotate_configure_window * window = yon_logrotate_window_new ( NULL , NULL ) ;
gtk_tree_selection_unselect_all ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( dialog - > MainTree ) ) ) ;
gtk_tree_selection_unselect_all ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( dialog - > MainTree ) ) ) ;
gtk_window_set_transient_for ( GTK_WINDOW ( window - > MainWindow ) , GTK_WINDOW ( dialog - > Window ) ) ;
gtk_widget_show ( window - > MainWindow ) ;
gtk_widget_show ( window - > MainWindow ) ;
gtk_widget_set_sensitive ( window - > LogNameEntry , 1 ) ;
gtk_widget_set_sensitive ( window - > LogNameEntry , 1 ) ;
gtk_widget_set_sensitive ( window - > LogDescriptionEntry , 1 ) ;
gtk_widget_set_sensitive ( window - > LogDescriptionEntry , 1 ) ;
@ -1134,7 +1145,7 @@ void on_logrotate_edit(GtkWidget *self, logrotate_window *window){
logrotate_configure_window * dialog = yon_logrotate_window_new ( paths , window ) ;
logrotate_configure_window * dialog = yon_logrotate_window_new ( paths , window ) ;
gtk_widget_show ( dialog - > MainWindow ) ;
gtk_widget_show ( dialog - > MainWindow ) ;
gtk_tree_model_get ( model , & iter , 0 , & name , 1 , & paths , 2 , & description , - 1 ) ;
gtk_tree_model_get ( model , & iter , 0 , & name , 1 , & paths , 2 , & description , - 1 ) ;
gtk_entry_set_text ( GTK_ENTRY ( dialog - > LogNameEntry ) , name ) ;
gtk_entry_set_text ( GTK_ENTRY ( dialog - > LogNameEntry ) , name ? name : " " ) ;
gtk_entry_set_text ( GTK_ENTRY ( dialog - > LogDescriptionEntry ) , description ? description : " " ) ;
gtk_entry_set_text ( GTK_ENTRY ( dialog - > LogDescriptionEntry ) , description ? description : " " ) ;
gtk_widget_set_can_focus ( dialog - > LogNameEntry , 0 ) ;
gtk_widget_set_can_focus ( dialog - > LogNameEntry , 0 ) ;
// gtk_widget_set_can_focus(dialog->LogDescriptionEntry,0);
// gtk_widget_set_can_focus(dialog->LogDescriptionEntry,0);
@ -1229,7 +1240,7 @@ void on_logrotate_tab_selection_changed(GtkWidget *self, logrotate_window *windo
gtk_widget_set_sensitive ( window - > RemoveButton , 1 ) ;
gtk_widget_set_sensitive ( window - > RemoveButton , 1 ) ;
gtk_widget_set_sensitive ( window - > ConfigureButton , 1 ) ;
gtk_widget_set_sensitive ( window - > ConfigureButton , 1 ) ;
} else {
} else {
gtk_widget_set_sensitive ( window - > AddButton , 0 ) ;
gtk_widget_set_sensitive ( window - > AddButton , 1 ) ;
gtk_widget_set_sensitive ( window - > RemoveButton , 0 ) ;
gtk_widget_set_sensitive ( window - > RemoveButton , 0 ) ;
gtk_widget_set_sensitive ( window - > ConfigureButton , 0 ) ;
gtk_widget_set_sensitive ( window - > ConfigureButton , 0 ) ;
}
}
@ -1691,7 +1702,8 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
char * paths ;
char * paths ;
int size ;
int size ;
char * description ;
char * description ;
gtk_tree_model_get ( model , & iter , 0 , & name , 1 , & paths , 2 , & description , - 1 ) ;
int protect ;
gtk_tree_model_get ( model , & iter , 0 , & name , 1 , & paths , 2 , & description , 4 , & protect , - 1 ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > NameEntry ) , name ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > NameEntry ) , name ) ;
gtk_entry_set_has_frame ( GTK_ENTRY ( window - > NameEntry ) , 0 ) ;
gtk_entry_set_has_frame ( GTK_ENTRY ( window - > NameEntry ) , 0 ) ;
gtk_widget_set_sensitive ( window - > NameEntry , 0 ) ;
gtk_widget_set_sensitive ( window - > NameEntry , 0 ) ;
@ -1702,6 +1714,10 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
gtk_widget_hide ( window - > LogrotateButton ) ;
gtk_widget_hide ( window - > LogrotateButton ) ;
gtk_widget_hide ( window - > MetalogButton ) ;
gtk_widget_hide ( window - > MetalogButton ) ;
gtk_widget_hide ( window - > SyslogButton ) ;
gtk_widget_hide ( window - > SyslogButton ) ;
gtk_widget_show ( window - > StatisticsFrame ) ;
int sz ;
config_str logsize = yon_config_load ( journald_size_command , & sz ) ;
gtk_label_set_text ( GTK_LABEL ( window - > LogSizeLabel ) , logsize [ 0 ] ) ;
g_signal_connect ( G_OBJECT ( window - > JournaldButton ) , " clicked " , G_CALLBACK ( on_journald_open ) , widgets ) ;
g_signal_connect ( G_OBJECT ( window - > JournaldButton ) , " clicked " , G_CALLBACK ( on_journald_open ) , widgets ) ;
} else {
} else {
gtk_widget_hide ( window - > JournaldButton ) ;
gtk_widget_hide ( window - > JournaldButton ) ;
@ -1716,6 +1732,7 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
gtk_entry_set_text ( GTK_ENTRY ( window - > LogDescriptionEntry ) , description ? description : " " ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > LogDescriptionEntry ) , description ? description : " " ) ;
config_str paths_parsed = yon_char_parse ( paths , & size , " \n " ) ;
config_str paths_parsed = yon_char_parse ( paths , & size , " \n " ) ;
GtkWidget * last = NULL ;
GtkWidget * last = NULL ;
int protected = 0 ;
for ( int i = 0 ; i < size ; i + + ) {
for ( int i = 0 ; i < size ; i + + ) {
GtkBuilder * builder = gtk_builder_new_from_resource ( glade_add_path_path ) ;
GtkBuilder * builder = gtk_builder_new_from_resource ( glade_add_path_path ) ;
GtkWidget * box = yon_gtk_builder_get_widget ( builder , " PathBox " ) ;
GtkWidget * box = yon_gtk_builder_get_widget ( builder , " PathBox " ) ;
@ -1723,12 +1740,21 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
GtkWidget * AppendButton = yon_gtk_builder_get_widget ( builder , " AppendButton " ) ;
GtkWidget * AppendButton = yon_gtk_builder_get_widget ( builder , " AppendButton " ) ;
GtkWidget * SearchButton = yon_gtk_builder_get_widget ( builder , " SearchButton " ) ;
GtkWidget * SearchButton = yon_gtk_builder_get_widget ( builder , " SearchButton " ) ;
GtkWidget * RemoveButton = yon_gtk_builder_get_widget ( builder , " RemoveButton " ) ;
GtkWidget * RemoveButton = yon_gtk_builder_get_widget ( builder , " RemoveButton " ) ;
if ( protected < protect ) {
gtk_widget_set_sensitive ( RemoveButton , 0 ) ;
protected + + ;
}
if ( ! strcmp ( name , " journald " ) ) {
gtk_widget_hide ( AppendButton ) ;
gtk_widget_hide ( RemoveButton ) ;
}
gtk_widget_set_sensitive ( entry , 0 ) ;
gtk_widget_set_sensitive ( entry , 0 ) ;
gtk_widget_set_sensitive ( SearchButton , 0 ) ;
gtk_widget_set_sensitive ( SearchButton , 0 ) ;
gtk_entry_set_text ( GTK_ENTRY ( entry ) , paths_parsed [ i ] ) ;
gtk_entry_set_text ( GTK_ENTRY ( entry ) , paths_parsed [ i ] ) ;
gtk_box_pack_start ( GTK_BOX ( window - > LogPathsBox ) , box , 0 , 0 , 5 ) ;
gtk_box_pack_start ( GTK_BOX ( window - > LogPathsBox ) , box , 0 , 0 , 5 ) ;
last = AppendButton ;
last = AppendButton ;
}
}
if ( strcmp ( name , " journald " ) )
gtk_widget_show ( last ) ;
gtk_widget_show ( last ) ;
g_signal_connect ( G_OBJECT ( last ) , " clicked " , G_CALLBACK ( on_log_path_append ) , window ) ;
g_signal_connect ( G_OBJECT ( last ) , " clicked " , G_CALLBACK ( on_log_path_append ) , window ) ;
gtk_widget_set_sensitive ( window - > LogTypeCombo , 0 ) ;
gtk_widget_set_sensitive ( window - > LogTypeCombo , 0 ) ;
@ -1765,8 +1791,13 @@ void on_main_window_tree_selection_changed(GtkWidget *self,main_window *widgets)
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > list ) ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > list ) ;
GtkTreeIter iter ;
GtkTreeIter iter ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > MainTree ) ) , & model , & iter ) ) {
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > MainTree ) ) , & model , & iter ) ) {
gboolean is_standard ;
gtk_tree_model_get ( model , & iter , 3 , & is_standard , - 1 ) ;
gtk_widget_set_sensitive ( widgets - > AddButton , 1 ) ;
gtk_widget_set_sensitive ( widgets - > AddButton , 1 ) ;
if ( ! is_standard )
gtk_widget_set_sensitive ( widgets - > RemoveButton , 1 ) ;
gtk_widget_set_sensitive ( widgets - > RemoveButton , 1 ) ;
else
gtk_widget_set_sensitive ( widgets - > RemoveButton , 0 ) ;
gtk_widget_set_sensitive ( widgets - > InspectButton , 1 ) ;
gtk_widget_set_sensitive ( widgets - > InspectButton , 1 ) ;
gtk_widget_set_sensitive ( widgets - > ConfigureButton , 1 ) ;
gtk_widget_set_sensitive ( widgets - > ConfigureButton , 1 ) ;
} else {
} else {
@ -1957,11 +1988,13 @@ main_window *setup_window(){
config_str journals = yon_file_open ( journals_list_path , & size ) ;
config_str journals = yon_file_open ( journals_list_path , & size ) ;
for ( int i = 1 ; i < size ; i + + ) {
for ( int i = 1 ; i < size ; i + + ) {
int log_size ;
int log_size ;
int psize ;
journals [ i ] = yon_char_divide_search ( journals [ i ] , " \n " , - 1 ) ;
journals [ i ] = yon_char_divide_search ( journals [ i ] , " \n " , - 1 ) ;
config_str log = yon_char_parse ( journals [ i ] , & log_size , " ; " ) ;
config_str log = yon_char_parse ( journals [ i ] , & log_size , " ; " ) ;
log [ 1 ] = yon_char_replace ( log [ 1 ] , " , " , " \n " ) ;
log [ 1 ] = yon_char_replace ( log [ 1 ] , " , " , " \n " ) ;
gtk_list_store_append ( widgets - > list , & iter ) ;
gtk_list_store_append ( widgets - > list , & iter ) ;
gtk_list_store_set ( widgets - > list , & iter , 0 , log [ 0 ] , 1 , log [ 1 ] , 2 , _ ( log [ 2 ] ) , 3 , - 1 , 4 , - 1 , 5 , - 1 , 6 , - 1 , 7 , - 1 , - 1 ) ;
free ( yon_char_parse ( log [ 1 ] , & psize , " \n " ) ) ;
gtk_list_store_set ( widgets - > list , & iter , 0 , log [ 0 ] , 1 , log [ 1 ] , 2 , _ ( log [ 2 ] ) , 3 , 1 , 4 , psize , - 1 ) ;
}
}
config_str services = yon_file_open ( services_list_path , & service_size ) ;
config_str services = yon_file_open ( services_list_path , & service_size ) ;
for ( int i = 1 ; i < service_size ; i + + ) {
for ( int i = 1 ; i < service_size ; i + + ) {