summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-03-11 09:57:46 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-03-11 09:57:46 +0000
commit10abfec207307b56a4ab17691320a5160f012dea (patch)
tree9e5d16e7107d30226a25e34f0b5c676cf8f2a041
parente86629158e2d2b42f4f3198d7784191e6cb36657 (diff)
downloadrockbox-10abfec207307b56a4ab17691320a5160f012dea.tar.gz
rockbox-10abfec207307b56a4ab17691320a5160f012dea.zip
Doubleslash eradication
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3427 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/tree.c39
1 files changed, 23 insertions, 16 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 9745f004fd..7cb57e7757 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -697,10 +697,10 @@ static int onplay_screen(char* dir, char* file)
struct entry* f = &dircache[dirstart + dircursor];
bool isdir = f->attr & ATTR_DIRECTORY;
- if ((dir[0]=='/') && (dir[1]==0))
- snprintf(buf, sizeof buf, "%s%s", dir, file);
- else
+ if (dir[1])
snprintf(buf, sizeof buf, "%s/%s", dir, file);
+ else
+ snprintf(buf, sizeof buf, "/%s", file);
lcd_clear_display();
@@ -850,11 +850,11 @@ static int onplay_screen(char* dir, char* file)
int m_handle;
int selected;
- if ((dir[0]=='/') && (dir[1]==0))
- snprintf(buf, sizeof buf, "%s%s", dir, file);
- else
+ if (dir[1])
snprintf(buf, sizeof buf, "%s/%s", dir, file);
-
+ else
+ snprintf(buf, sizeof buf, "/%s", dir, file);
+
if (playing) {
items[lastitem].desc=str(LANG_QUEUE);
ids[lastitem]=1;
@@ -1096,11 +1096,10 @@ bool dirbrowse(char *root)
#endif
if ( !numentries )
break;
- if ((currdir[0]=='/') && (currdir[1]==0)) {
- snprintf(buf,sizeof(buf),"%s%s",currdir, file->name);
- } else {
+ if (currdir[1])
snprintf(buf,sizeof(buf),"%s/%s",currdir, file->name);
- }
+ else
+ snprintf(buf,sizeof(buf),"/%s",file->name);
if (file->attr & ATTR_DIRECTORY) {
memcpy(currdir,buf,sizeof(currdir));
@@ -1120,10 +1119,15 @@ bool dirbrowse(char *root)
lcd_stop_scroll();
switch ( file->attr & TREE_ATTR_MASK ) {
case TREE_ATTR_M3U:
- if ( global_settings.resume )
- snprintf(global_settings.resume_file,
- MAX_PATH, "%s/%s",
- currdir, file->name);
+ if ( global_settings.resume ) {
+ if (currdir[1])
+ snprintf(global_settings.resume_file,
+ MAX_PATH, "%s/%s",
+ currdir, file->name);
+ else
+ snprintf(global_settings.resume_file,
+ MAX_PATH, "/%s", file->name);
+ }
play_list(currdir, file->name, 0, false, 0,
seed, 0, 0, -1);
start_index = 0;
@@ -1496,7 +1500,10 @@ static bool add_dir(char* dirname, int fd)
if (!strcmp(entry->d_name, ".") ||
!strcmp(entry->d_name, ".."))
continue;
- snprintf(buf, sizeof buf, "%s/%s", dirname, entry->d_name);
+ if (dirname[1])
+ snprintf(buf, sizeof buf, "%s/%s", dirname, entry->d_name);
+ else
+ snprintf(buf, sizeof buf, "/%s", entry->d_name);
if (add_dir(buf,fd)) {
abort = true;
break;