summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-04-13 07:15:30 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-04-13 07:15:30 +0000
commit24bf89259eaeac4474853e5dba1ecf29fe4b4347 (patch)
tree9dd17b95940ab6f46c65b99126bb057982e25e5e
parentb1fa534f140b456ec23e7aaa2c2e345c2d1b43b6 (diff)
downloadrockbox-24bf89259eaeac4474853e5dba1ecf29fe4b4347.zip
rockbox-24bf89259eaeac4474853e5dba1ecf29fe4b4347.tar.gz
rockbox-24bf89259eaeac4474853e5dba1ecf29fe4b4347.tar.bz2
rockbox-24bf89259eaeac4474853e5dba1ecf29fe4b4347.tar.xz
Fixed a bug in retrieving track filename when tagcache is loaded in ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9641 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/tagcache.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/tagcache.c b/apps/tagcache.c
index b91e065..b992a0d 100644
--- a/apps/tagcache.c
+++ b/apps/tagcache.c
@@ -802,6 +802,26 @@ bool tagcache_retrieve(struct tagcache_search *tcs, int idxid,
return false;
}
+#ifdef HAVE_TC_RAMCACHE
+ if (tcs->ramsearch)
+ {
+ if (tcs->type == tag_filename)
+ {
+ dircache_copy_path((struct dircache_entry *)seek,
+ buf, size);
+ }
+ else
+ {
+ struct tagfile_entry *ep;
+
+ ep = (struct tagfile_entry *)&hdr->tags[tcs->type][seek];
+ strncpy(buf, ep->tag_data, size-1);
+ }
+
+ return true;
+ }
+#endif
+
if (tcs->idxfd[tcs->type] < 0)
{
char fn[MAX_PATH];