Dircache: Move struct maindata declaration to dircache.c and actually check for DIRCACHE_MAGIC when loading from disk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30037 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
52abbb186d
commit
0b9c57d33e
2 changed files with 12 additions and 11 deletions
|
@ -503,6 +503,17 @@ static struct dircache_entry* dircache_get_entry(const char *path, bool go_down)
|
|||
}
|
||||
|
||||
#ifdef HAVE_EEPROM_SETTINGS
|
||||
|
||||
#define DIRCACHE_MAGIC 0x00d0c0a1
|
||||
struct dircache_maindata {
|
||||
long magic;
|
||||
long size;
|
||||
long entry_count;
|
||||
long appflags;
|
||||
struct dircache_entry *root_entry;
|
||||
char *d_names_start;
|
||||
};
|
||||
|
||||
/**
|
||||
* Function to load the internal cache structure from disk to initialize
|
||||
* the dircache really fast and little disk access.
|
||||
|
@ -525,7 +536,7 @@ int dircache_load(void)
|
|||
|
||||
bytes_read = read(fd, &maindata, sizeof(struct dircache_maindata));
|
||||
if (bytes_read != sizeof(struct dircache_maindata)
|
||||
|| maindata.size <= 0)
|
||||
|| maindata.magic != DIRCACHE_MAGIC || maindata.size <= 0)
|
||||
{
|
||||
logf("Dircache file header error");
|
||||
close(fd);
|
||||
|
|
|
@ -47,16 +47,6 @@ struct travel_data {
|
|||
int pathpos;
|
||||
};
|
||||
|
||||
#define DIRCACHE_MAGIC 0x00d0c0a1
|
||||
struct dircache_maindata {
|
||||
long magic;
|
||||
long size;
|
||||
long entry_count;
|
||||
long appflags;
|
||||
struct dircache_entry *root_entry;
|
||||
char *d_names_start;
|
||||
};
|
||||
|
||||
#define MAX_PENDING_BINDINGS 2
|
||||
struct fdbind_queue {
|
||||
char path[MAX_PATH];
|
||||
|
|
Loading…
Reference in a new issue