proper handling of empty dirs (hopefully)
This commit is contained in:
@@ -44,6 +44,11 @@ yank yank_files = { 0 };
|
||||
void FAIL(char *function, char *str){
|
||||
printf("ERROR in function %s: %s", function, str);
|
||||
}
|
||||
#define continue_if_empty_dir \
|
||||
if (mid_dir.current_file == NULL) { \
|
||||
return; \
|
||||
}
|
||||
|
||||
void user_interactions() {
|
||||
|
||||
|
||||
@@ -165,6 +170,8 @@ void select_all(){
|
||||
}
|
||||
void move_down(unsigned long passes){
|
||||
|
||||
continue_if_empty_dir;
|
||||
|
||||
mid_dir.current_file += passes;
|
||||
if (mid_dir.current_file > mid_dir.file_list + mid_dir.file_count - 1) {
|
||||
mid_dir.current_file = mid_dir.file_list + mid_dir.file_count - 1;
|
||||
@@ -174,6 +181,8 @@ void move_down(unsigned long passes){
|
||||
}
|
||||
void move_up(unsigned long passes){
|
||||
|
||||
continue_if_empty_dir;
|
||||
|
||||
mid_dir.current_file -= passes;
|
||||
if (mid_dir.current_file < mid_dir.file_list) {
|
||||
mid_dir.current_file = mid_dir.file_list;
|
||||
@@ -191,6 +200,8 @@ void move_left(unsigned long passes){
|
||||
}
|
||||
void move_right(){
|
||||
|
||||
continue_if_empty_dir
|
||||
|
||||
if (mid_dir.current_file->file_type & FILE_TYPE_DIR) {
|
||||
change_dir(mid_dir.current_file->file_name);
|
||||
} else if (mid_dir.current_file->file_type & FILE_TYPE_EXEC) {
|
||||
|
||||
Reference in New Issue
Block a user