diff options
author | Björn Stenberg <bjorn@haxx.se> | 2003-03-10 14:31:43 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2003-03-10 14:31:43 +0000 |
commit | 118316b0ea7b6775b41848841701141987ece108 (patch) | |
tree | 6479c44fbf934a4e2256e27fcb66919654ae3a80 /apps/tree.c | |
parent | ae12ec721feae467f6715c5d958ad23faea41f59 (diff) | |
download | rockbox-118316b0ea7b6775b41848841701141987ece108.tar.gz rockbox-118316b0ea7b6775b41848841701141987ece108.zip |
Now only shows extensions in mode Show files: All
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3407 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tree.c')
-rw-r--r-- | apps/tree.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/apps/tree.c b/apps/tree.c index fb748a56d6..6f29a43e2d 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -194,18 +194,22 @@ static int compare(const void* p1, const void* p2) static void showfileline(int line, int direntry, bool scroll) { - /* if music filter is on, cut off the extension */ - if (global_settings.dirfilter == SHOW_MUSIC && - (dircache[direntry].attr & (TREE_ATTR_M3U|TREE_ATTR_MPA))) + /* if any file filter is on, strip the extension */ + if (global_settings.dirfilter != SHOW_ALL && + !(dircache[direntry].attr & ATTR_DIRECTORY)) { - int len = strlen(dircache[direntry].name); - char temp = dircache[direntry].name[len-4]; - dircache[direntry].name[len-4] = 0; + char* dotpos = strrchr(dircache[direntry].name, '.'); + char temp; + if (dotpos) { + temp = *dotpos; + *dotpos = 0; + } if(scroll) lcd_puts_scroll(LINE_X, line, dircache[direntry].name); else lcd_puts(LINE_X, line, dircache[direntry].name); - dircache[direntry].name[len-4] = temp; + if (dotpos) + *dotpos = temp; } else { if(scroll) |