From 5d34887d4ac3c3a2fcd6827f3ca70def65336591 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sat, 1 Jun 2024 18:19:56 -0400 Subject: voice: regression: Don't mangle the filename when spelling it out. 26c612f breaks file selections if you have filename extensions disabled and filenames spelled out, because it modified the filename in place breaking the caller. Instead of using a lot of space to make a private copy, the simplest approach is, if we strip the extension off, simply restore it afterwards. Change-Id: Iaf560e813053b8030c620bbed6d061a2423338d5 --- apps/tree.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'apps') diff --git a/apps/tree.c b/apps/tree.c index 58457c2d71..f40e6eaa2a 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -276,9 +276,11 @@ static int tree_voice_cb(int selected_item, void * data) /* spell name AFTER voicing filetype */ if (spell_name) { + bool stripit = false; + char *ext = NULL; + /* Don't spell the extension if it's not displayed */ if (!is_dir) { - bool stripit; switch(global_settings.show_filename_ext) { case 0: /* show file extension: off */ @@ -301,13 +303,15 @@ static int tree_voice_cb(int selected_item, void * data) } if (stripit) { - char *ext = strrchr(name, '.'); + ext = strrchr(name, '.'); if (ext) *ext = 0; } } - talk_spell(name, true); + + if (stripit && ext) + *ext = '.'; } return 0; -- cgit v1.2.3