From 218ae1c61ae256f89e9f0fb8c482e86d2187e705 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 3 Feb 2025 11:45:32 +0600 Subject: [PATCH] Fixed saving of & symbol; fixed email pattern checking --- source/libublsettingsui-gtk3-save.c | 4 ++-- source/libublsettingsui-gtk3.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/source/libublsettingsui-gtk3-save.c b/source/libublsettingsui-gtk3-save.c index 973182d..f0a6094 100644 --- a/source/libublsettingsui-gtk3-save.c +++ b/source/libublsettingsui-gtk3-save.c @@ -413,12 +413,12 @@ void yon_save_window_loaded_config_init(template_saving_window *window, struct l GtkTreeIter iter; if (status==0||status==-2) status = 0; else status=1; + if (strstr(current->data,"&")) {current->data = yon_char_replace(current->data,"&","\003");current->data = yon_char_replace(current->data,"\003","&");} if (strstr(current->data,">")) current->data = yon_char_replace(current->data,">","<"); if (strstr(current->data,"<")) current->data = yon_char_replace(current->data,"<",">"); - if (strstr(current->data,"&")) current->data = yon_char_replace(current->data,"&","&"); + if (strstr(dict->data,"&")) {dict->data = yon_char_replace(dict->data,"&","\003");dict->data = yon_char_replace(dict->data,"\003","&");} if (strstr(dict->data,">")) dict->data = yon_char_replace(dict->data,">","<"); if (strstr(dict->data,"<")) dict->data = yon_char_replace(dict->data,"<",">"); - if (strstr(dict->data,"&")) dict->data = yon_char_replace(dict->data,"&","&"); char *compare_string = yon_char_unite("",(char*)dict->data,"\n",(char*)current->data,NULL); gtk_list_store_append(window->list,&iter); gtk_list_store_set(window->list,&iter,0,status,1,current->key,2,(char*)dict->data,3,(char*)current->data,4,compare_string,6,1,7,yon_config_get_section_for_key(current->key),-1); diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index f78bb85..494b4cf 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -568,7 +568,8 @@ char *yon_gtk_entry_check_restricted(GtkEntry *target){ char *error=NULL; switch(purpose){ case GTK_INPUT_PURPOSE_EMAIL:{ - if (!strstr(text,"@")){ + char *temp = NULL; + if (!((temp = strstr(text,"@"))&&strstr(temp,"."))){ error = yon_char_get_localised_from_lib(EMAIL_INVALID_LABEL); } }