X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fcommon%2Fmenu_pico.c;h=2dd582dc353c080bb1272914eb7828a9edf17764;hb=9b5713af95da3f72cb659d4d8017559aca593a31;hp=3ed768d76df0887024d5ef47bb0122f02911636e;hpb=c6f91b0ea34fceac83acb2c5c227e327f8d40786;p=picodrive.git diff --git a/platform/common/menu_pico.c b/platform/common/menu_pico.c index 3ed768d..2dd582d 100644 --- a/platform/common/menu_pico.c +++ b/platform/common/menu_pico.c @@ -27,7 +27,7 @@ static const char *rom_exts[] = { "zip", - "bin", "smd", "gen", + "bin", "smd", "gen", "md", "iso", "cso", "cue", "32x", "sms", @@ -37,11 +37,16 @@ static const char *rom_exts[] = { // rrrr rggg gggb bbbb static unsigned short fname2color(const char *fname) { - const char *ext = fname + strlen(fname) - 3; static const char *other_exts[] = { "gmv", "pat" }; + const char *ext; int i; - if (ext < fname) ext = fname; + ext = strrchr(fname, '.'); + if (ext++ == NULL) { + ext = fname + strlen(fname) - 3; + if (ext < fname) ext = fname; + } + for (i = 0; rom_exts[i] != NULL; i++) if (strcasecmp(ext, rom_exts[i]) == 0) return 0xbdff; // FIXME: mk defines for (i = 0; i < array_size(other_exts); i++)