Properties/Tagcache Track Info Retrieval: Skip files with errors

File names exceeding the max length will not be retrievable
from the database. Skip such files, instead of cancelling
the operation at that point.

Change-Id: Ia6bc8a53be9ec181eb836956cc3d8b059b2d024f
This commit is contained in:
Christian Soffke 2023-10-15 17:30:27 +02:00
parent f2af0711b0
commit e3b22935f2
2 changed files with 17 additions and 9 deletions

View file

@ -2258,7 +2258,8 @@ static bool tagtree_insert_selection(int position, bool queue,
/* Execute action_cb for all subentries of the current table's
* selected item, handing over each entry's filename in the
* callback function parameter.
* callback function parameter. Parameter will be NULL for
* entries whose filename couldn't be retrieved.
*/
bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name))
{
@ -2289,9 +2290,8 @@ bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name))
last_tick = current_tick;
}
if (!tagcache_retrieve(&tcs, tagtree_get_entry(tc, i)->extraseek,
tcs.type, buf, sizeof buf)
|| !action_cb(buf))
if (!action_cb(tagcache_retrieve(&tcs, tagtree_get_entry(tc, i)->extraseek,
tcs.type, buf, sizeof buf) ? buf : NULL))
{
ret = false;
break;