diff options
-rw-r--r-- | apps/tree.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/apps/tree.c b/apps/tree.c index 8889b160e8..c248631744 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -923,7 +923,7 @@ int rockbox_browse(const char *root, int dirfilter) | |||
923 | static struct tree_context backup; | 923 | static struct tree_context backup; |
924 | char current[MAX_PATH]; | 924 | char current[MAX_PATH]; |
925 | int last_context; | 925 | int last_context; |
926 | const char *dir, *ext, *setting; | 926 | const char *dir, *ext, *setting = NULL; |
927 | 927 | ||
928 | backup = tc; | 928 | backup = tc; |
929 | tc.selected_item = 0; | 929 | tc.selected_item = 0; |
@@ -979,19 +979,12 @@ int rockbox_browse(const char *root, int dirfilter) | |||
979 | setting = global_settings.fmr_file; | 979 | setting = global_settings.fmr_file; |
980 | break; | 980 | break; |
981 | #endif | 981 | #endif |
982 | default: | ||
983 | dir = ext = setting = NULL; | ||
984 | break; | ||
985 | } | 982 | } |
986 | 983 | ||
987 | if (setting) | ||
988 | snprintf(current, sizeof(current), "%s/%s.%s", dir, setting, ext); | ||
989 | else /* reset current, the next call might use the old value */ | ||
990 | current[0] = '\0'; | ||
991 | |||
992 | /* If we've found a file to center on, do it */ | 984 | /* If we've found a file to center on, do it */ |
993 | if (current[0] == '/') | 985 | if (setting) |
994 | { | 986 | { |
987 | snprintf(current, sizeof(current), "%s/%s.%s", dir, setting, ext); | ||
995 | set_current_file(current); | 988 | set_current_file(current); |
996 | /* set_current_file changes dirlevel, change it back */ | 989 | /* set_current_file changes dirlevel, change it back */ |
997 | tc.dirlevel = 0; | 990 | tc.dirlevel = 0; |