summaryrefslogtreecommitdiff
path: root/apps/dbtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dbtree.c')
-rw-r--r--apps/dbtree.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/apps/dbtree.c b/apps/dbtree.c
index 1121ea4070..e3704ac381 100644
--- a/apps/dbtree.c
+++ b/apps/dbtree.c
@@ -478,6 +478,22 @@ void db_exit(struct tree_context* c)
478 c->firstpos = c->pos_history[c->dirlevel]; 478 c->firstpos = c->pos_history[c->dirlevel];
479} 479}
480 480
481int db_get_filename(struct tree_context* c, char *buf, int buflen)
482{
483 int rc;
484 int filenum = c->dircursor + c->dirstart;
485 int pathoffset = ((int*)c->dircache)[filenum * c->dentry_size + 1];
486
487 lseek(tagdb_fd, pathoffset, SEEK_SET);
488 rc = read(tagdb_fd, buf, buflen);
489
490 if (rc < tagdbheader.songlen) {
491 DEBUGF("short path read(%ld) = %d\n", sizeof(buf), rc);
492 return -2;
493 }
494 return 0;
495}
496
481static int db_play_folder(struct tree_context* c) 497static int db_play_folder(struct tree_context* c)
482{ 498{
483 char buf[MAX_PATH]; 499 char buf[MAX_PATH];