summaryrefslogtreecommitdiff
path: root/alpine/folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'alpine/folder.c')
-rw-r--r--alpine/folder.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/alpine/folder.c b/alpine/folder.c
index 7f33238d..a391181a 100644
--- a/alpine/folder.c
+++ b/alpine/folder.c
@@ -3526,8 +3526,12 @@ folder_lister_parent(FSTATE_S *fs, CONTEXT_S *context, int index, int force_pare
folder_select_preserve(context);
oldir[0] = '\0';
if((s = strrindex(context->dir->ref, context->dir->delim)) != NULL){
+ char *u, *v;
*s = '\0';
- if((s = strrindex(context->dir->ref, context->dir->delim)) != NULL){
+ u = strrindex(context->dir->ref, context->dir->delim);
+ v = strrindex(context->dir->ref, '}');
+ s = u < v ? v : u;
+ if(s != NULL){
strncpy(oldir, s+1, sizeof(oldir)-1);
oldir[sizeof(oldir)-1] = '\0';
}