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
|
#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
|
* Function to load the internal cache structure from disk to initialize
|
||||||
* the dircache really fast and little disk access.
|
* 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));
|
bytes_read = read(fd, &maindata, sizeof(struct dircache_maindata));
|
||||||
if (bytes_read != 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");
|
logf("Dircache file header error");
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
|
@ -47,16 +47,6 @@ struct travel_data {
|
||||||
int pathpos;
|
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
|
#define MAX_PENDING_BINDINGS 2
|
||||||
struct fdbind_queue {
|
struct fdbind_queue {
|
||||||
char path[MAX_PATH];
|
char path[MAX_PATH];
|
||||||
|
|
Loading…
Reference in a new issue