forked from len0rd/rockbox
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
This commit is contained in:
parent
e16230de8c
commit
5d34887d4a
1 changed files with 7 additions and 3 deletions
10
apps/tree.c
10
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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue