fixed a bug where files/directory names would occasionally just dissapear

This commit is contained in:
nova 2025-05-31 10:21:25 +02:00
parent 3d3052e436
commit f7c1d34e05

View File

@ -45,9 +45,9 @@ void get_dir_content(char *path, unsigned long *dir_file_count, file *dir_conten
for (i = 0; i < *dir_file_count; i++ ) {
if (entry[i]->d_name[0] == '.' && !(file_modifiers & FILE_MODIFIERS_HIDDEN_FILES)) {
} else {
dir_content[i].file_name_width = strlen(entry[i]->d_name);
dir_content[i].file_name = malloc(sizeof(entry[i]->d_name));
dir_content[i].file_name = entry[i]->d_name;
dir_content[i].file_name_width = sizeof(entry[i]->d_name) / sizeof(char);;
dir_content[i].file_name = malloc(dir_content[i].file_name_width * sizeof(char));
memcpy(dir_content[i].file_name, entry[i]->d_name, dir_content[i].file_name_width);
struct stat *file;
file = malloc(sizeof(struct stat));
@ -134,11 +134,11 @@ void print_dir(WINDOW *win, unsigned long *dir_file_count, file *dir_content){
if (dir_content[i].status & FILE_STATUS_HOVER) {
wattron(win, A_REVERSE);
mvwprintw(win, i, 0, "%ld", i);
mvwaddstr(win, i, offset, dir_content[i].file_name);
mvwprintw(win, i, offset, "%s", dir_content[i].file_name);
wattroff(win, A_REVERSE);
} else {
mvwprintw(win, i, 0, "%ld", i);
mvwaddstr(win, i, offset, dir_content[i].file_name);
mvwprintw(win, i, offset, "%s", dir_content[i].file_name);
}
wattroff(win, COLOR_PAIR(dir_content[i].color_pair));
}