1
0
Fork 0
forked from len0rd/rockbox

Restore dircache hookup in the database ramcache.

Do a few other changes to dircache and file code flags to
accomodate its demands.

Change-Id: I4742a54e8cfbe4d8b9cffb75faaf920dd907cf8a
This commit is contained in:
Michael Sevakis 2017-01-18 04:39:35 -05:00
parent abd75a17d1
commit 7373cf518f
8 changed files with 626 additions and 497 deletions

View file

@ -351,10 +351,10 @@ static int fill_path_compinfo(struct pathwalk *walkp,
compinfo->length = compp->length;
compinfo->attr = compp->attr;
compinfo->filesize = walkp->filesize;
if (!(walkp->callflags & FF_SELFINFO))
compinfo->parentinfo = (compp->nextp ?: compp)->info;
else
if (walkp->callflags & FF_INFO)
compinfo->info = compp->info;
if (walkp->callflags & FF_PARENTINFO)
compinfo->parentinfo = (compp->nextp ?: compp)->info;
}
return rc;
@ -571,9 +571,9 @@ int open_stream_internal(const char *path, unsigned int callflags,
FILE_ERROR(path ? ENOENT : EFAULT, -1);
}
/* if !compinfo, then the result of this check is not visible anyway */
/* if !compinfo then these cannot be returned anyway */
if (!compinfo)
callflags &= ~FF_CHECKPREFIX;
callflags &= ~(FF_INFO | FF_PARENTINFO | FF_CHECKPREFIX);
/* This lets it be passed quietly to directory scanning */
stream->flags = callflags & FF_MASK;