diff options
Diffstat (limited to 'apps/dbtree.c')
-rw-r--r-- | apps/dbtree.c | 16 |
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 | ||
481 | int 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 | |||
481 | static int db_play_folder(struct tree_context* c) | 497 | static int db_play_folder(struct tree_context* c) |
482 | { | 498 | { |
483 | char buf[MAX_PATH]; | 499 | char buf[MAX_PATH]; |