forked from len0rd/rockbox
x11_opendir() now fails properly in case the dir doesn't exist
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@537 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
59dd4363a8
commit
e078eddff9
1 changed files with 12 additions and 6 deletions
|
|
@ -19,18 +19,24 @@ typedef struct mydir MYDIR;
|
||||||
MYDIR *x11_opendir(char *name)
|
MYDIR *x11_opendir(char *name)
|
||||||
{
|
{
|
||||||
char buffer[256]; /* sufficiently big */
|
char buffer[256]; /* sufficiently big */
|
||||||
MYDIR *my = (MYDIR *)malloc(sizeof(MYDIR));
|
DIR *dir;
|
||||||
|
|
||||||
if(name[0] == '/') {
|
if(name[0] == '/') {
|
||||||
sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name);
|
sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name);
|
||||||
my->dir=(DIR *)opendir(buffer);
|
dir=(DIR *)opendir(buffer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
my->dir=(DIR *)opendir(name);
|
dir=(DIR *)opendir(name);
|
||||||
|
|
||||||
|
if(dir) {
|
||||||
|
MYDIR *my = (MYDIR *)malloc(sizeof(MYDIR));
|
||||||
|
my->dir = dir;
|
||||||
my->name = (char *)strdup(name);
|
my->name = (char *)strdup(name);
|
||||||
|
|
||||||
return my;
|
return my;
|
||||||
|
}
|
||||||
|
/* failed open, return NULL */
|
||||||
|
return (MYDIR *)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct x11_dirent *x11_readdir(MYDIR *dir)
|
struct x11_dirent *x11_readdir(MYDIR *dir)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue