- filebox->fs->change_dir(path);
- filebox->refresh();
- update(strcat(filebox->fs->get_current_dir(),"/"));
+ const char *cp = path;
+ char dir_path[BCTEXTLEN], *dp = dir_path;
+ while( *cp ) *dp++ = *cp++;
+ while( dp >= dir_path && *--dp == '/' );
+ *++dp = '/'; *++dp = 0;
+ if( strcmp(filebox->fs->get_current_dir(), dir_path) ) {
+ filebox->fs->change_dir(dir_path);
+ filebox->refresh(1);
+ }
+ update(dir_path);