summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 9e1a22f567..aedeeb1dfd 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -772,6 +772,9 @@ static bool handle_on(int *ds, int *dc, int numentries, int tree_max_on_screen,
772 { 772 {
773 int onplay_result; 773 int onplay_result;
774 774
775 if(!numentries)
776 break;
777
775 if (currdir[1]) 778 if (currdir[1])
776 snprintf(buf, sizeof buf, "%s/%s", 779 snprintf(buf, sizeof buf, "%s/%s",
777 currdir, dircache[dircursor+dirstart].name); 780 currdir, dircache[dircursor+dirstart].name);
@@ -1499,6 +1502,30 @@ bool create_playlist(void)
1499 return true; 1502 return true;
1500} 1503}
1501 1504
1505bool create_dir(void)
1506{
1507 char dirname[MAX_PATH];
1508 int rc;
1509 int pathlen;
1510
1511 memset(dirname, 0, sizeof dirname);
1512
1513 snprintf(dirname, sizeof dirname, "%s/",
1514 currdir[1] ? currdir : "");
1515
1516 pathlen = strlen(dirname);
1517 rc = kbd_input(dirname + pathlen, (sizeof dirname)-pathlen);
1518 if(rc < 0)
1519 return false;
1520
1521 rc = mkdir(dirname, 0);
1522 if(rc < 0) {
1523 splash(HZ, true, "%s %s", str(LANG_CREATE_DIR), str(LANG_FAILED));
1524 }
1525
1526 return true;
1527}
1528
1502bool rockbox_browse(char *root, int dirfilter) 1529bool rockbox_browse(char *root, int dirfilter)
1503{ 1530{
1504 bool rc; 1531 bool rc;