mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
1.31 release
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@80 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
782f8f2211
commit
c008977e8e
12 changed files with 160 additions and 50 deletions
|
@ -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");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue