From 31aaaca68b15fab61bf8a5e2b0187111fae27f46 Mon Sep 17 00:00:00 2001 From: Thorsten Töpper Date: Sat, 2 Aug 2025 00:02:57 +0200 Subject: symlinks: destination can be resolved --- include/data_management.h | 5 +++++ include/options.h | 1 + 2 files changed, 6 insertions(+) (limited to 'include') diff --git a/include/data_management.h b/include/data_management.h index a8d3648..3283e02 100644 --- a/include/data_management.h +++ b/include/data_management.h @@ -8,6 +8,7 @@ #ifndef LIST_MANAGEMENT_H #define LIST_MANAGEMENT_H +#include #include /* === DEFINITIONS === */ @@ -15,6 +16,7 @@ struct list_node { struct list_node *next; char fname[256]; + char *symlink_target; struct stat ln_stat; }; @@ -27,10 +29,13 @@ struct list_head *create_list_sort_reversed(struct list_head *list); void destroy_list(struct list_head *list); struct list_head *get_data_from_directory(char *path); +char *get_symlink_target_name(char *symlink, struct stat st); int insert_sorted_by_name(struct list_head *list, struct list_node *node); int insert_sorted_by_size(struct list_head *list, struct list_node *node); int insert_sorted_by_time(struct list_head *list, struct list_node *node); +/* Makes it simpler in the output */ +bool contains_resolved_symlinks(struct list_head *list); #endif diff --git a/include/options.h b/include/options.h index c62474d..cae9aa0 100644 --- a/include/options.h +++ b/include/options.h @@ -30,6 +30,7 @@ extern bool option_sort_reverse_order; extern enum esort_type option_sort_type; extern bool option_print_boxed_table; extern bool option_print_header; +extern bool option_resolve_symlinks; extern bool option_show_hidden_entries; extern bool option_timestamp_long; extern char option_time_field; -- cgit v1.2.3-70-g09d2