Don't segfault when browsing an empty dir...

This commit is contained in:
Yorhel 2009-04-25 15:46:00 +02:00
parent 3dc21365f5
commit 027c0c2eba

View file

@ -310,7 +310,8 @@ void browse_key_sel(int change) {
struct dir *n, *cur, par; struct dir *n, *cur, par;
int i, max; int i, max;
cur = browse_dir; if((cur = browse_dir) == NULL)
return;
par.next = cur; par.next = cur;
if(cur->parent->parent) if(cur->parent->parent)
cur = ∥ cur = ∥
@ -402,13 +403,13 @@ int browse_key(int ch) {
break; break;
if(n != NULL && n->sub != NULL) if(n != NULL && n->sub != NULL)
browse_dir = n->sub; browse_dir = n->sub;
if(n == NULL && browse_dir->parent->parent) if(n == NULL && browse_dir != NULL && browse_dir->parent->parent)
browse_dir = browse_dir->parent->parent->sub; browse_dir = browse_dir->parent->parent->sub;
nonfo++; nonfo++;
sort++; sort++;
break; break;
case KEY_LEFT: case KEY_LEFT:
if(browse_dir->parent->parent != NULL) if(browse_dir != NULL && browse_dir->parent->parent != NULL)
browse_dir = browse_dir->parent->parent->sub; browse_dir = browse_dir->parent->parent->sub;
nonfo++; nonfo++;
sort++; sort++;
@ -416,7 +417,8 @@ int browse_key(int ch) {
/* refresh */ /* refresh */
case 'r': case 'r':
calc_init(getpath(browse_dir->parent), browse_dir->parent); if(browse_dir != NULL)
calc_init(getpath(browse_dir->parent), browse_dir->parent);
nonfo++; nonfo++;
sort++; sort++;
break; break;
@ -457,7 +459,7 @@ int browse_key(int ch) {
break; break;
} }
if(sort) if(sort && browse_dir != NULL)
browse_dir = browse_sort(browse_dir); browse_dir = browse_sort(browse_dir);
if(nonfo) if(nonfo)
flags &= ~BF_INFO; flags &= ~BF_INFO;