diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c index 733b7c3..fda10c3 100644 --- a/source/ubl-settings-services.c +++ b/source/ubl-settings-services.c @@ -200,12 +200,16 @@ void on_config_autostart_clicked(GtkCellRenderer *, char *path, main_window *wid char *config_sting = yon_config_get_by_key("SERVICES_ENABLE"); int size; config_str parsed = yon_char_parse(config_sting,&size,","); - // if (strstr(name,".service")){ - // char *temp = yon_char_divide_search(name,".",-1); - // free(name); - // name = temp; - // } + char *additional_name = NULL; + if (strstr(name,".service")){ + char *temp = yon_char_new(name); + additional_name = yon_char_divide_search(temp,".",-1); + free(temp); + } int place = yon_char_parsed_check_exist(parsed,size,name); + if (place==-1){ + place = yon_char_parsed_check_exist(parsed,size,additional_name); + } if (status==0){ if (place ==-1){ if (yon_char_parsed_check_exist(parsed,size,unit)==-1){ @@ -265,12 +269,16 @@ void on_config_autostop_clicked(GtkCellRenderer *, char *path, main_window *widg char *config_sting = yon_config_get_by_key("SERVICES_DISABLE"); int size; config_str parsed = yon_char_parse(config_sting,&size,","); + char *additional_name = NULL; if (strstr(name,".service")){ - char *temp = yon_char_divide_search(name,".",-1); - free(name); - name = temp; + char *temp = yon_char_new(name); + additional_name = yon_char_divide_search(temp,".",-1); + free(temp); } int place = yon_char_parsed_check_exist(parsed,size,name); + if (place==-1){ + place = yon_char_parsed_check_exist(parsed,size,additional_name); + } if (status==0){ if (place ==-1){ if (yon_char_parsed_check_exist(parsed,size,unit)==-1){ @@ -328,12 +336,16 @@ void on_config_block_clicked(GtkCellRenderer *, char *path, main_window *widgets char *config_sting = yon_config_get_by_key(SERVICES_MASK_parameter); int size; config_str parsed = yon_char_parse(config_sting,&size,","); + char *additional_name = NULL; if (strstr(name,".service")){ - char *temp = yon_char_divide_search(name,".",-1); - free(name); - name = temp; + char *temp = yon_char_new(name); + additional_name = yon_char_divide_search(temp,".",-1); + free(temp); } int place = yon_char_parsed_check_exist(parsed,size,name); + if (place==-1){ + place = yon_char_parsed_check_exist(parsed,size,additional_name); + } if (status==0){ if (place ==-1){ if (yon_char_parsed_check_exist(parsed,size,unit)==-1){