From dc49ed46988edeafe957e953350af7dd74a57102 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Sat, 15 Sep 2018 14:17:54 +0200 Subject: [PATCH] fix replacement of extension in unicode filename --- src/filesel.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/filesel.c b/src/filesel.c index fa527551..6a703d7c 100644 --- a/src/filesel.c +++ b/src/filesel.c @@ -1882,8 +1882,10 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context GFX2_Log(GFX2_DEBUG, "extension %s => %s\n", Selector_filename + pos_last_dot + 1, Get_fileformat(Selector->Format_filter)->Default_extension); strcpy(Selector_filename + pos_last_dot + 1, Get_fileformat(Selector->Format_filter)->Default_extension); - Unicode_char_strlcpy(Selector_filename_unicode + pos_last_dot + 1, - Get_fileformat(Selector->Format_filter)->Default_extension, 256 - pos_last_dot - 1); + pos_last_dot = Position_last_dot_unicode(Selector_filename_unicode); + if (pos_last_dot != -1) + Unicode_char_strlcpy(Selector_filename_unicode + pos_last_dot + 1, + Get_fileformat(Selector->Format_filter)->Default_extension, 256 - pos_last_dot - 1); } } savename = (char *)strdup(Selector_filename);