diff options
| author | Henrik Backe <henrik@backe.eu> | 2005-09-02 15:05:35 +0000 |
|---|---|---|
| committer | Henrik Backe <henrik@backe.eu> | 2005-09-02 15:05:35 +0000 |
| commit | b2473d58ab1a7ff0722bd27f08ce5a8856cd5502 (patch) | |
| tree | 3eca1349052d07ddf975956bdd2ab8f4bce6e309 | |
| parent | acf14e05693125d3768de80d99d7cfff6c2b164a (diff) | |
| download | rockbox-b2473d58ab1a7ff0722bd27f08ce5a8856cd5502.zip rockbox-b2473d58ab1a7ff0722bd27f08ce5a8856cd5502.tar.gz rockbox-b2473d58ab1a7ff0722bd27f08ce5a8856cd5502.tar.bz2 rockbox-b2473d58ab1a7ff0722bd27f08ce5a8856cd5502.tar.xz | |
Fixed associate problem with file extensions (.info files matched .nfo extension)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7456 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/filetree.c | 2 | ||||
| -rw-r--r-- | apps/filetypes.c | 9 | ||||
| -rw-r--r-- | apps/filetypes.h | 2 | ||||
| -rw-r--r-- | apps/tree.c | 46 | ||||
| -rw-r--r-- | firmware/export/config-fmrecorder.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-h100.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-h120.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-h300.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-iaudiox5.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-ondiofm.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-ondiosp.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-player.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-recorder.h | 4 | ||||
| -rw-r--r-- | firmware/export/config-recorderv2.h | 4 |
14 files changed, 50 insertions, 49 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index 691a6ad..8ecdc0c 100644 --- a/apps/filetree.c +++ b/apps/filetree.c @@ -240,7 +240,7 @@ int ft_load(struct tree_context* c, const char* tempdir) dptr->attr = entry->attribute; /* check for known file types */ - if ( !(dptr->attr & ATTR_DIRECTORY) && (len > 4) ) + if ( !(dptr->attr & ATTR_DIRECTORY) ) dptr->attr |= filetype_get_attr(entry->d_name); #ifdef BOOTFILE diff --git a/apps/filetypes.c b/apps/filetypes.c index ace8915..30ab2c3 100644 --- a/apps/filetypes.c +++ b/apps/filetypes.c @@ -209,17 +209,18 @@ bool filetype_supported(int attr) } /* get the "dynamic" attribute for an extension */ -int filetype_get_attr(const char* name) +int filetype_get_attr(char* name) { int i; + char *cp; for (i=0; i < cnt_exttypes; i++) { if (exttypes[i].extension) { - if (!strcasecmp(&name[strlen(name)- - strlen(exttypes[i].extension)], - exttypes[i].extension)) + cp=strrchr(name,'.'); + if (cp) cp++; + if ((!strcasecmp(cp,exttypes[i].extension)) && (cp)) { return ((((unsigned long)exttypes[i].type - (unsigned long)&filetypes[0]) / diff --git a/apps/filetypes.h b/apps/filetypes.h index e72dd6f..200d338 100644 --- a/apps/filetypes.h +++ b/apps/filetypes.h @@ -23,7 +23,7 @@ #include <tree.h> #include <menu.h> -int filetype_get_attr(const char*); +int filetype_get_attr(char*); #ifdef HAVE_LCD_BITMAP const char* filetype_get_icon(int); #else diff --git a/apps/tree.c b/apps/tree.c index c42d18b..eec71ae 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -68,30 +68,30 @@ /* a table for the know file types */ const struct filetype filetypes[] = { - { ".mp3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".mp2", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "mp3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "mp2", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, #if CONFIG_CODEC == SWCODEC /* Temporary hack to allow playlist creation */ - { ".mp1", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".ogg", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".wma", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".wav", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".flac", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".ac3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".a52", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".mpc", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, - { ".wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "mp1", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "ogg", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "wma", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "wav", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "flac", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "ac3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "a52", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "mpc", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, + { "wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, #endif - { ".m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST }, - { ".cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG }, - { ".wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS }, - { ".lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE }, - { ".rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK }, + { "m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST }, + { "cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG }, + { "wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS }, + { "lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE }, + { "rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK }, #ifdef HAVE_LCD_BITMAP - { ".fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT }, + { "fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT }, #endif - { ".bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK }, + { "bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK }, #ifdef BOOTFILE_EXT { BOOTFILE_EXT, TREE_ATTR_MOD, Icon_Firmware, VOICE_EXT_AJZ }, #endif /* #ifndef SIMULATOR */ @@ -1375,15 +1375,15 @@ static bool add_dir(char* dirname, int len, int fd) } else { int x = strlen(entry->d_name); - int xl; unsigned int i; + char *cp; /* add all supported audio files to playlists */ for (i=0; i < sizeof(filetypes); i++) { if (filetypes[i].tree_attr == TREE_ATTR_MPA) { - xl=strlen(filetypes[i].extension); - if (!strcasecmp(&entry->d_name[x-xl], - filetypes[i].extension)) + cp=strrchr(entry->d_name,'.'); + if (cp) cp++; + if ((!strcasecmp(cp,filetypes[i].extension)) && (cp)) { char buf[8]; write(fd, dirname, strlen(dirname)); diff --git a/firmware/export/config-fmrecorder.h b/firmware/export/config-fmrecorder.h index 188c60a..b30b1a4 100644 --- a/firmware/export/config-fmrecorder.h +++ b/firmware/export/config-fmrecorder.h @@ -88,7 +88,7 @@ #define CONFIG_LCD LCD_SSD1815 -#define BOOTFILE_EXT ".ajz" -#define BOOTFILE "ajbrec" BOOTFILE_EXT +#define BOOTFILE_EXT "ajz" +#define BOOTFILE "ajbrec." BOOTFILE_EXT #endif /* SIMULATOR */ diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h index bdb1b1a..3d8a164 100644 --- a/firmware/export/config-h100.h +++ b/firmware/export/config-h100.h @@ -94,8 +94,8 @@ /* Define this if you have adjustable CPU frequency */ #define HAVE_ADJUSTABLE_CPU_FREQ -#define BOOTFILE_EXT ".iriver" -#define BOOTFILE "rockbox" BOOTFILE_EXT +#define BOOTFILE_EXT "iriver" +#define BOOTFILE "rockbox." BOOTFILE_EXT #endif diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h index 2691a8a..194c53b 100644 --- a/firmware/export/config-h120.h +++ b/firmware/export/config-h120.h @@ -90,8 +90,8 @@ /* Define this if you have adjustable CPU frequency */ #define HAVE_ADJUSTABLE_CPU_FREQ -#define BOOTFILE_EXT ".iriver" -#define BOOTFILE "rockbox" BOOTFILE_EXT +#define BOOTFILE_EXT "iriver" +#define BOOTFILE "rockbox." BOOTFILE_EXT #endif diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h index df97fd2..1de4158 100644 --- a/firmware/export/config-h300.h +++ b/firmware/export/config-h300.h @@ -85,8 +85,8 @@ /* Define this if you have adjustable CPU frequency */ #define HAVE_ADJUSTABLE_CPU_FREQ -#define BOOTFILE_EXT ".iriver" -#define BOOTFILE "rockbox" BOOTFILE_EXT +#define BOOTFILE_EXT "iriver" +#define BOOTFILE "rockbox." BOOTFILE_EXT /* Define this if you can control the S/PDIF power */ #define HAVE_SPDIF_POWER diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h index f7d18c8..19a97b1 100644 --- a/firmware/export/config-iaudiox5.h +++ b/firmware/export/config-iaudiox5.h @@ -77,7 +77,7 @@ /* Define this if you have adjustable CPU frequency */ #define HAVE_ADJUSTABLE_CPU_FREQ -#define BOOTFILE_EXT ".iaudio" -#define BOOTFILE "rockbox" BOOTFILE_EXT +#define BOOTFILE_EXT "iaudio" +#define BOOTFILE "rockbox." BOOTFILE_EXT #endif diff --git a/firmware/export/config-ondiofm.h b/firmware/export/config-ondiofm.h index 7ec8228..46ef98d 100644 --- a/firmware/export/config-ondiofm.h +++ b/firmware/export/config-ondiofm.h @@ -99,7 +99,7 @@ /* define this if the unit can be powered or charged via USB */ #define HAVE_USB_POWER -#define BOOTFILE_EXT ".ajz" -#define BOOTFILE "ajbrec" BOOTFILE_EXT +#define BOOTFILE_EXT "ajz" +#define BOOTFILE "ajbrec." BOOTFILE_EXT #endif /* SIMULATOR */ diff --git a/firmware/export/config-ondiosp.h b/firmware/export/config-ondiosp.h index 478e8f2..1203692 100644 --- a/firmware/export/config-ondiosp.h +++ b/firmware/export/config-ondiosp.h @@ -86,7 +86,7 @@ /* define this if the unit can be powered or charged via USB */ #define HAVE_USB_POWER -#define BOOTFILE_EXT ".ajz" -#define BOOTFILE "ajbrec" BOOTFILE_EXT +#define BOOTFILE_EXT "ajz" +#define BOOTFILE "ajbrec." BOOTFILE_EXT #endif /* SIMULATOR */ diff --git a/firmware/export/config-player.h b/firmware/export/config-player.h index 5163b3d..d5ab70f 100644 --- a/firmware/export/config-player.h +++ b/firmware/export/config-player.h @@ -75,7 +75,7 @@ #define CONFIG_LCD LCD_SSD1801 -#define BOOTFILE_EXT ".mod" -#define BOOTFILE "archos" BOOTFILE_EXT +#define BOOTFILE_EXT "mod" +#define BOOTFILE "archos." BOOTFILE_EXT #endif /* SIMULATOR */ diff --git a/firmware/export/config-recorder.h b/firmware/export/config-recorder.h index 8abcb8b..5d77ae6 100644 --- a/firmware/export/config-recorder.h +++ b/firmware/export/config-recorder.h @@ -79,7 +79,7 @@ #define CONFIG_LCD LCD_SSD1815 -#define BOOTFILE_EXT ".ajz" -#define BOOTFILE "ajbrec" BOOTFILE_EXT +#define BOOTFILE_EXT "ajz" +#define BOOTFILE "ajbrec." BOOTFILE_EXT #endif /* SIMULATOR */ diff --git a/firmware/export/config-recorderv2.h b/firmware/export/config-recorderv2.h index 02430e8..a4179c6 100644 --- a/firmware/export/config-recorderv2.h +++ b/firmware/export/config-recorderv2.h @@ -88,7 +88,7 @@ #define CONFIG_LCD LCD_SSD1815 -#define BOOTFILE_EXT ".ajz" -#define BOOTFILE "ajbrec" BOOTFILE_EXT +#define BOOTFILE_EXT "ajz" +#define BOOTFILE "ajbrec." BOOTFILE_EXT #endif /* SIMULATOR */ |