- while (1) {
- mid_up = mid + flist->files[mid]->dir.depth;
- if (flist->files[mid_up]->basename)
- break;
- flist->files[mid]->dir.depth
- += flist->files[mid_up]->dir.depth;
+ mid_up = mid + flist->files[mid]->dir.depth;
+ if (!flist->files[mid_up]->basename) {
+ do {
+ mid_up += flist->files[mid_up]->dir.depth;
+ } while (!flist->files[mid_up]->basename);
+ flist->files[mid]->dir.depth = mid_up - mid;