Rockbox mail archive
Subject: Search problem with tagcache: solved?!
Search problem with tagcache: solved?!
Dear all,
this is my first post on this mailing list and I would
like to say hello to everybody and thank you for your
great job.
Now let's come to a little problem.
I noticed that the "search by title" and "search by
album" were missing some files. I red some code and
noticed the following block in tagcache.c line 521
==============================================
/* Check for conditions. */
for (i = 0; i < tcs->clause_count; i++)
{
struct tagfile_entry tfe;
int seek =
entry.tag_seek[tcs->clause[i]->tag];
==> char str[64];
memset(str, 0, sizeof str);
if
(!tagcache_is_numeric_tag(tcs->clause[i]->tag))
{
int fd =
tcs->idxfd[tcs->clause[i]->tag];
lseek(fd, seek, SEEK_SET);
read(fd, &tfe, sizeof(struct
tagfile_entry));
==> if (tfe.tag_length >=
(int)sizeof(str))
{
logf("Too long tag read!");
break ;
}
read(fd, str, tfe.tag_length);
}
if (!check_against_clause(seek, str,
tcs->clause[i]))
break ;
}
===============================================
The lines highlighted with the ==> are causing the
error because the skipped files have tags longer than
64 chars. Is there any way to raise this number? I
tried to compile and run on my H120 a new version with
char str[128] and, after 2 days, I got no problem.
What do you think of this?
Thank you in advance
Gaetano
___________________________________
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it
Received on Thu May 11 18:57:39 2006
Page was last modified "Jan 10 2012" The Rockbox Crew
|