From 52abbb186d62f113eb468754332840d54bd7e756 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 20 Jun 2011 20:12:30 +0000 Subject: Dircache: Change internal cache layout. The dircache_entry structs are now allocated subsequently from the front, allowing to treat them as an array. The d_names are allocated from the back (in reverse order, growing downwards). This allows the cache to be moved around (needed for my buflib gsoc project). It is utilized when loading the cache from disk (on the h100), now the pointer to the cache begin doesn't need to be the same across reboots anymore. This should save a bit memory usage, since there's no need for aligning padding bytes after d_names anymore. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30036 a1c6a512-1295-4272-9138-f99709370657 --- firmware/include/dircache.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'firmware/include/dircache.h') diff --git a/firmware/include/dircache.h b/firmware/include/dircache.h index 716d1fbed2..d04c176996 100644 --- a/firmware/include/dircache.h +++ b/firmware/include/dircache.h @@ -47,13 +47,14 @@ struct travel_data { int pathpos; }; -#define DIRCACHE_MAGIC 0x00d0c0a0 +#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 -- cgit v1.2.3