1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Henrik Backe 2005-09-02 15:05:35 +00:00
parent acf14e0569
commit b2473d58ab
14 changed files with 50 additions and 49 deletions

View file

@ -240,7 +240,7 @@ int ft_load(struct tree_context* c, const char* tempdir)
dptr->attr = entry->attribute; dptr->attr = entry->attribute;
/* check for known file types */ /* 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); dptr->attr |= filetype_get_attr(entry->d_name);
#ifdef BOOTFILE #ifdef BOOTFILE

View file

@ -209,17 +209,18 @@ bool filetype_supported(int attr)
} }
/* get the "dynamic" attribute for an extension */ /* get the "dynamic" attribute for an extension */
int filetype_get_attr(const char* name) int filetype_get_attr(char* name)
{ {
int i; int i;
char *cp;
for (i=0; i < cnt_exttypes; i++) for (i=0; i < cnt_exttypes; i++)
{ {
if (exttypes[i].extension) if (exttypes[i].extension)
{ {
if (!strcasecmp(&name[strlen(name)- cp=strrchr(name,'.');
strlen(exttypes[i].extension)], if (cp) cp++;
exttypes[i].extension)) if ((!strcasecmp(cp,exttypes[i].extension)) && (cp))
{ {
return ((((unsigned long)exttypes[i].type - return ((((unsigned long)exttypes[i].type -
(unsigned long)&filetypes[0]) / (unsigned long)&filetypes[0]) /

View file

@ -23,7 +23,7 @@
#include <tree.h> #include <tree.h>
#include <menu.h> #include <menu.h>
int filetype_get_attr(const char*); int filetype_get_attr(char*);
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
const char* filetype_get_icon(int); const char* filetype_get_icon(int);
#else #else

View file

@ -68,30 +68,30 @@
/* a table for the know file types */ /* a table for the know file types */
const struct filetype filetypes[] = { const struct filetype filetypes[] = {
{ ".mp3", 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 }, { "mp2", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
{ ".mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, { "mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
#if CONFIG_CODEC == SWCODEC #if CONFIG_CODEC == SWCODEC
/* Temporary hack to allow playlist creation */ /* Temporary hack to allow playlist creation */
{ ".mp1", 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 }, { "ogg", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
{ ".wma", 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 }, { "wav", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
{ ".flac", 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 }, { "ac3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
{ ".a52", 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 }, { "mpc", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
{ ".wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA }, { "wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
#endif #endif
{ ".m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST }, { "m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST },
{ ".cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG }, { "cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG },
{ ".wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS }, { "wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS },
{ ".lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE }, { "lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE },
{ ".rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK }, { "rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK },
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
{ ".fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT }, { "fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT },
#endif #endif
{ ".bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK }, { "bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK },
#ifdef BOOTFILE_EXT #ifdef BOOTFILE_EXT
{ BOOTFILE_EXT, TREE_ATTR_MOD, Icon_Firmware, VOICE_EXT_AJZ }, { BOOTFILE_EXT, TREE_ATTR_MOD, Icon_Firmware, VOICE_EXT_AJZ },
#endif /* #ifndef SIMULATOR */ #endif /* #ifndef SIMULATOR */
@ -1375,15 +1375,15 @@ static bool add_dir(char* dirname, int len, int fd)
} }
else { else {
int x = strlen(entry->d_name); int x = strlen(entry->d_name);
int xl;
unsigned int i; unsigned int i;
char *cp;
/* add all supported audio files to playlists */ /* add all supported audio files to playlists */
for (i=0; i < sizeof(filetypes); i++) { for (i=0; i < sizeof(filetypes); i++) {
if (filetypes[i].tree_attr == TREE_ATTR_MPA) { if (filetypes[i].tree_attr == TREE_ATTR_MPA) {
xl=strlen(filetypes[i].extension); cp=strrchr(entry->d_name,'.');
if (!strcasecmp(&entry->d_name[x-xl], if (cp) cp++;
filetypes[i].extension)) if ((!strcasecmp(cp,filetypes[i].extension)) && (cp))
{ {
char buf[8]; char buf[8];
write(fd, dirname, strlen(dirname)); write(fd, dirname, strlen(dirname));

View file

@ -88,7 +88,7 @@
#define CONFIG_LCD LCD_SSD1815 #define CONFIG_LCD LCD_SSD1815
#define BOOTFILE_EXT ".ajz" #define BOOTFILE_EXT "ajz"
#define BOOTFILE "ajbrec" BOOTFILE_EXT #define BOOTFILE "ajbrec." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */

View file

@ -94,8 +94,8 @@
/* Define this if you have adjustable CPU frequency */ /* Define this if you have adjustable CPU frequency */
#define HAVE_ADJUSTABLE_CPU_FREQ #define HAVE_ADJUSTABLE_CPU_FREQ
#define BOOTFILE_EXT ".iriver" #define BOOTFILE_EXT "iriver"
#define BOOTFILE "rockbox" BOOTFILE_EXT #define BOOTFILE "rockbox." BOOTFILE_EXT
#endif #endif

View file

@ -90,8 +90,8 @@
/* Define this if you have adjustable CPU frequency */ /* Define this if you have adjustable CPU frequency */
#define HAVE_ADJUSTABLE_CPU_FREQ #define HAVE_ADJUSTABLE_CPU_FREQ
#define BOOTFILE_EXT ".iriver" #define BOOTFILE_EXT "iriver"
#define BOOTFILE "rockbox" BOOTFILE_EXT #define BOOTFILE "rockbox." BOOTFILE_EXT
#endif #endif

View file

@ -85,8 +85,8 @@
/* Define this if you have adjustable CPU frequency */ /* Define this if you have adjustable CPU frequency */
#define HAVE_ADJUSTABLE_CPU_FREQ #define HAVE_ADJUSTABLE_CPU_FREQ
#define BOOTFILE_EXT ".iriver" #define BOOTFILE_EXT "iriver"
#define BOOTFILE "rockbox" BOOTFILE_EXT #define BOOTFILE "rockbox." BOOTFILE_EXT
/* Define this if you can control the S/PDIF power */ /* Define this if you can control the S/PDIF power */
#define HAVE_SPDIF_POWER #define HAVE_SPDIF_POWER

View file

@ -77,7 +77,7 @@
/* Define this if you have adjustable CPU frequency */ /* Define this if you have adjustable CPU frequency */
#define HAVE_ADJUSTABLE_CPU_FREQ #define HAVE_ADJUSTABLE_CPU_FREQ
#define BOOTFILE_EXT ".iaudio" #define BOOTFILE_EXT "iaudio"
#define BOOTFILE "rockbox" BOOTFILE_EXT #define BOOTFILE "rockbox." BOOTFILE_EXT
#endif #endif

View file

@ -99,7 +99,7 @@
/* define this if the unit can be powered or charged via USB */ /* define this if the unit can be powered or charged via USB */
#define HAVE_USB_POWER #define HAVE_USB_POWER
#define BOOTFILE_EXT ".ajz" #define BOOTFILE_EXT "ajz"
#define BOOTFILE "ajbrec" BOOTFILE_EXT #define BOOTFILE "ajbrec." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */

View file

@ -86,7 +86,7 @@
/* define this if the unit can be powered or charged via USB */ /* define this if the unit can be powered or charged via USB */
#define HAVE_USB_POWER #define HAVE_USB_POWER
#define BOOTFILE_EXT ".ajz" #define BOOTFILE_EXT "ajz"
#define BOOTFILE "ajbrec" BOOTFILE_EXT #define BOOTFILE "ajbrec." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */

View file

@ -75,7 +75,7 @@
#define CONFIG_LCD LCD_SSD1801 #define CONFIG_LCD LCD_SSD1801
#define BOOTFILE_EXT ".mod" #define BOOTFILE_EXT "mod"
#define BOOTFILE "archos" BOOTFILE_EXT #define BOOTFILE "archos." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */

View file

@ -79,7 +79,7 @@
#define CONFIG_LCD LCD_SSD1815 #define CONFIG_LCD LCD_SSD1815
#define BOOTFILE_EXT ".ajz" #define BOOTFILE_EXT "ajz"
#define BOOTFILE "ajbrec" BOOTFILE_EXT #define BOOTFILE "ajbrec." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */

View file

@ -88,7 +88,7 @@
#define CONFIG_LCD LCD_SSD1815 #define CONFIG_LCD LCD_SSD1815
#define BOOTFILE_EXT ".ajz" #define BOOTFILE_EXT "ajz"
#define BOOTFILE "ajbrec" BOOTFILE_EXT #define BOOTFILE "ajbrec." BOOTFILE_EXT
#endif /* SIMULATOR */ #endif /* SIMULATOR */