removal of file_size_width

This commit is contained in:
nova
2025-07-25 17:10:44 +02:00
parent af5a451ec2
commit 1a67c5b4d0
7 changed files with 49 additions and 60 deletions

View File

@@ -61,8 +61,7 @@ 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(dir_content[i].file_name_width + 1);
dir_content[i].file_name = malloc(strlen(entry[i]->d_name));
strcpy(dir_content[i].file_name, entry[i]->d_name);
struct stat *file;
@@ -208,16 +207,17 @@ void print_dir(WINDOW *win, char print_info, unsigned long *dir_file_count, file
* example output: aaa~.txt
* if no extension is found, the name will truncate */
char *file_name;
if ((dir_content[i].file_name_width + offset_front + is_selected) > offset_back - 1) {
unsigned long file_name_width = strlen(dir_content[i].file_name);
if ((file_name_width + offset_front + is_selected) > offset_back - 1) {
char *extension = strrchr(dir_content[i].file_name, '.');
if (extension) {
int char_offset = (dir_content[i].file_name_width + offset_front + is_selected) - (offset_back - 1) ;
if ((dir_content[i].file_name_width - char_offset - strlen(extension) - 1) > 1) {
file_name = malloc(dir_content[i].file_name_width - char_offset);
memcpy(file_name, dir_content[i].file_name, dir_content[i].file_name_width - char_offset);
memcpy(file_name + (dir_content[i].file_name_width - char_offset - strlen(extension)), extension, strlen(extension));
file_name[dir_content[i].file_name_width - char_offset - strlen(extension) - 1] = '~';
file_name[dir_content[i].file_name_width - char_offset] = '\0';
int char_offset = (file_name_width + offset_front + is_selected) - (offset_back - 1) ;
if ((file_name_width - char_offset - strlen(extension) - 1) > 1) {
file_name = malloc(file_name_width - char_offset);
memcpy(file_name, dir_content[i].file_name, file_name_width - char_offset);
memcpy(file_name + (file_name_width - char_offset - strlen(extension)), extension, strlen(extension));
file_name[file_name_width - char_offset - strlen(extension) - 1] = '~';
file_name[file_name_width - char_offset] = '\0';
} else {
file_name = malloc(strlen(extension)+1);
file_name[0] = '~';
@@ -225,15 +225,15 @@ void print_dir(WINDOW *win, char print_info, unsigned long *dir_file_count, file
file_name[strlen(extension)] = '\0';
}
} else {
file_name = malloc(dir_content[i].file_name_width+1);
memcpy(file_name, dir_content[i].file_name, dir_content[i].file_name_width);
file_name[dir_content[i].file_name_width] = '\0';
file_name = malloc(file_name_width+1);
memcpy(file_name, dir_content[i].file_name, file_name_width);
file_name[file_name_width] = '\0';
}
} else {
file_name = malloc(dir_content[i].file_name_width+1);
memcpy(file_name, dir_content[i].file_name, dir_content[i].file_name_width);
file_name[dir_content[i].file_name_width] = '\0';
file_name = malloc(file_name_width+1);
memcpy(file_name, dir_content[i].file_name, file_name_width);
file_name[file_name_width] = '\0';
}
mvwaddstr(win, i, 0, bg);