From 0d0558bde90234a0413433f743cd85aee645eeef Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 25 Mar 2007 22:21:21 +0000 Subject: [PATCH] 1.31 release git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@80 be3aeb3a-fb24-0410-a615-afba39da0efa --- gp2x/menu.c | 23 +++++++++++++++++++++-- gp2x/version.h | 2 +- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/gp2x/menu.c b/gp2x/menu.c index 47b91b1..30f681a 100644 --- a/gp2x/menu.c +++ b/gp2x/menu.c @@ -286,6 +286,25 @@ static int scandir_cmp(const void *p1, const void *p2) return alphasort(d1, d2); } +static char *filter_exts[] = { ".mp3", ".MP3", ".srm", ".brm", "s.gz", ".mds", "bcfg", ".txt", ".htm", "html", ".gpe" }; + +static int scandir_filter(const struct dirent *ent) +{ + const char *p; + int i; + + if (ent == NULL || ent->d_name == NULL) return 0; + if (strlen(ent->d_name) < 5) return 1; + + p = ent->d_name + strlen(ent->d_name) - 4; + + for (i = 0; i < sizeof(filter_exts)/sizeof(filter_exts[0]); i++) + { + if (strcmp(p, filter_exts[i]) == 0) return 0; + } + + return 1; +} static char *romsel_loop(char *curr_path) { @@ -305,10 +324,10 @@ static char *romsel_loop(char *curr_path) fname = p+1; } - n = scandir(curr_path, &namelist, 0, scandir_cmp); + n = scandir(curr_path, &namelist, scandir_filter, scandir_cmp); if (n < 0) { // try root - n = scandir(curr_path, &namelist, 0, scandir_cmp); + n = scandir("/", &namelist, scandir_filter, scandir_cmp); if (n < 0) { // oops, we failed printf("dir: "); printf(curr_path); printf("\n"); diff --git a/gp2x/version.h b/gp2x/version.h index 7bb0de2..1725e8d 100644 --- a/gp2x/version.h +++ b/gp2x/version.h @@ -1,2 +1,2 @@ -#define VERSION "1.30" +#define VERSION "1.31" -- 2.39.2