fix of dir->file_list[i].file_type being accidentally overwritten

This commit is contained in:
nova
2026-05-21 00:06:39 +02:00
parent adb10b6d5d
commit f807fe56b5
2 changed files with 8 additions and 4 deletions

6
dir.c
View File

@@ -52,6 +52,8 @@ void get_dir_content(char *path, dir *dir){
} else {
scandir(path, &entry, skip_hidden_files, NULL);
}
char *full_path = NULL;
unsigned long i = 0;
for (i = 0; i < dir->file_count; i++ ) {
@@ -199,7 +201,7 @@ void print_dir(WINDOW *win, char print_info, dir *dir){
} while (file_size > 1 && size_index < size_unit_count);
size_char = size_unit[(unsigned)size_index];
if (dir->file_list[i].file_type &= FILE_TYPE_DIR) {
if (dir->file_list[i].file_type & FILE_TYPE_DIR) {
offset_back = line_width - (snprintf(NULL,0,"%ld", dir->file_list[i].file_size) + 1);
} else if (size_char =='B') {
offset_back = line_width - (snprintf(NULL,0,"%0.0lf %c", printed_size, size_char) + 1);
@@ -265,7 +267,7 @@ void print_dir(WINDOW *win, char print_info, dir *dir){
#endif
if (dir->file_list[i].file_type &= FILE_TYPE_DIR) {
if (dir->file_list[i].file_type & FILE_TYPE_DIR) {
mvwprintw(win, i-offset_vertical, offset_back, "%ld", dir->file_list[i].file_size);
}else if (size_char =='B') {
mvwprintw(win, i-offset_vertical, offset_back, "%0.0lf %c", printed_size, size_char);

View File

@@ -215,8 +215,10 @@ void *thread_rgt(){
pthread_mutex_unlock(&mutex_mid);
if (rgt_dir.current_file->permissions & S_IRUSR) {
if (rgt_dir.current_file->file_type &= FILE_TYPE_DIR) {
if (rgt_dir.current_file->file_type & FILE_TYPE_DIR) {
#if SETTINGS_UEBERZUG_IMAGE_PREVIEW != 0
images_clear();
#endif
@@ -243,7 +245,7 @@ void *thread_rgt(){
rgt_dir.current_file->file_type |= FILE_TYPE_OPEN_FILE;
pthread_mutex_lock(&mutex_render);
werase(win_r);
if (rgt_dir.current_file->file_type == FILE_TYPE_OPEN_FILE) {
if (rgt_dir.current_file->file_type & FILE_TYPE_OPEN_FILE) {
mvwaddnstr(win_r, 0, 0, rgt_buffer, (terminal_width/2) * terminal_width);
} else if ((rgt_dir.current_file->permissions & S_IRUSR) == 0) {
mvwaddstr(win_r, 0, 0, "not accessible");