summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/common/dircache.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c
index 4cd01ec..ca07a35 100644
--- a/firmware/common/dircache.c
+++ b/firmware/common/dircache.c
@@ -743,10 +743,8 @@ struct dircache_entry* readdir_cached(DIRCACHED* dir)
if (!dir->busy)
return NULL;
- if (!dircache_initialized)
+ if (dir->regulardir != NULL)
{
- if (dir->regulardir == NULL)
- return NULL;
regentry = readdir(dir->regulardir);
if (regentry == NULL)
return NULL;
@@ -789,8 +787,11 @@ struct dircache_entry* readdir_cached(DIRCACHED* dir)
int closedir_cached(DIRCACHED* dir)
{
+ if (!dir->busy)
+ return -1;
+
dir->busy=false;
- if (!dircache_initialized && dir->regulardir != NULL)
+ if (dir->regulardir != NULL)
return closedir(dir->regulardir);
return 0;