* Get rid of unnecessary calls to stat().
This commit is contained in:
parent
53f764d020
commit
68ba24f255
12
scanner.c
12
scanner.c
@ -528,11 +528,9 @@ sql_failed:
|
|||||||
int
|
int
|
||||||
filter_media(const struct dirent *d)
|
filter_media(const struct dirent *d)
|
||||||
{
|
{
|
||||||
struct stat entry;
|
|
||||||
return ( (*d->d_name != '.') &&
|
return ( (*d->d_name != '.') &&
|
||||||
(stat(d->d_name, &entry) == 0) &&
|
((d->d_type == DT_DIR) ||
|
||||||
(S_ISDIR(entry.st_mode) ||
|
((d->d_type == DT_REG) &&
|
||||||
(S_ISREG(entry.st_mode) &&
|
|
||||||
(is_image(d->d_name) ||
|
(is_image(d->d_name) ||
|
||||||
is_audio(d->d_name) ||
|
is_audio(d->d_name) ||
|
||||||
is_video(d->d_name)
|
is_video(d->d_name)
|
||||||
@ -544,7 +542,6 @@ void
|
|||||||
ScanDirectory(const char * dir, const char * parent)
|
ScanDirectory(const char * dir, const char * parent)
|
||||||
{
|
{
|
||||||
struct dirent **namelist;
|
struct dirent **namelist;
|
||||||
struct stat entry;
|
|
||||||
int n, i;
|
int n, i;
|
||||||
char parent_id[PATH_MAX];
|
char parent_id[PATH_MAX];
|
||||||
char full_path[PATH_MAX];
|
char full_path[PATH_MAX];
|
||||||
@ -577,15 +574,13 @@ ScanDirectory(const char * dir, const char * parent)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (i=0; i < n; i++) {
|
for (i=0; i < n; i++) {
|
||||||
if( stat(namelist[i]->d_name, &entry) == 0 )
|
|
||||||
{
|
|
||||||
name = NULL;
|
name = NULL;
|
||||||
sprintf(full_path, "%s/%s", dir, namelist[i]->d_name);
|
sprintf(full_path, "%s/%s", dir, namelist[i]->d_name);
|
||||||
if( index(namelist[i]->d_name, '&') )
|
if( index(namelist[i]->d_name, '&') )
|
||||||
{
|
{
|
||||||
name = modifyString(strdup(namelist[i]->d_name), "&", "&amp;", 0);
|
name = modifyString(strdup(namelist[i]->d_name), "&", "&amp;", 0);
|
||||||
}
|
}
|
||||||
if( S_ISDIR(entry.st_mode) )
|
if( namelist[i]->d_type == DT_DIR )
|
||||||
{
|
{
|
||||||
insert_directory(name?name:namelist[i]->d_name, full_path, BROWSEDIR_ID, (parent ? parent:""), i);
|
insert_directory(name?name:namelist[i]->d_name, full_path, BROWSEDIR_ID, (parent ? parent:""), i);
|
||||||
sprintf(parent_id, "%s$%X", (parent ? parent:""), i);
|
sprintf(parent_id, "%s$%X", (parent ? parent:""), i);
|
||||||
@ -595,7 +590,6 @@ ScanDirectory(const char * dir, const char * parent)
|
|||||||
{
|
{
|
||||||
insert_file(name?name:namelist[i]->d_name, full_path, (parent ? parent:""), i);
|
insert_file(name?name:namelist[i]->d_name, full_path, (parent ? parent:""), i);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if( name )
|
if( name )
|
||||||
free(name);
|
free(name);
|
||||||
free(namelist[i]);
|
free(namelist[i]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user