diff options
Diffstat (limited to 'src/file.c')
-rw-r--r-- | src/file.c | 30 |
1 files changed, 16 insertions, 14 deletions
@@ -94,34 +94,36 @@ int scan(const char *file_name) return 0; } -char *get_next_file() +void next_file() { if (curr_file_index >= file_list_count - 1) - return NULL; - return file_list[++curr_file_index]; + return; + if (!load_image(file_list[curr_file_index + 1])) + curr_file_index++; } -char *get_prev_file() +void prev_file() { if (curr_file_index <= 0) - return NULL; - return file_list[--curr_file_index]; + return; + if (!load_image(file_list[curr_file_index - 1])) + curr_file_index--; } -char *get_first_file() +void first_file() { if (curr_file_index == 0) - return NULL; - curr_file_index = 0; - return file_list[curr_file_index]; + return; + if (!load_image(file_list[0])) + curr_file_index = 0; } -char *get_last_file() +void last_file() { if (curr_file_index == file_list_count - 1) - return NULL; - curr_file_index = file_list_count - 1; - return file_list[curr_file_index]; + return; + if (!load_image(file_list[file_list_count - 1])) + curr_file_index = file_list_count - 1; } void clean() |