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 --- src/options.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/options.c') diff --git a/src/options.c b/src/options.c index b975794..235792d 100644 --- a/src/options.c +++ b/src/options.c @@ -23,6 +23,7 @@ struct option long_options[] = { { "long-timestamp", no_argument, 0, 0 }, { "print-boxed", no_argument, 0, 0 }, { "print-header", no_argument, 0, 0 }, + { "resolve-symlinks", no_argument, 0, 0 }, { "reverse-sort", no_argument, 0, 0 }, { "show-hidden-entries", no_argument, 0, 0 }, { "sort-by", required_argument, 0, 0 }, @@ -34,6 +35,7 @@ bool option_sort_reverse_order = false; enum esort_type option_sort_type = SORT_BY_SIZE; bool option_print_boxed_table = false; bool option_print_header = false; +bool option_resolve_symlinks = false; bool option_show_hidden_entries = false; bool option_timestamp_long = false; char *option_format_string = NULL; @@ -63,6 +65,8 @@ void usage(char *executable) { "Print a boxed table"); fprintf(stderr, " %-25s %2s %10s - %s\n", "--print-header", "-H", "", "Print a header above the columns"); + fprintf(stderr, " %-25s %2s %10s - %s\n", "--resolve-symlinks", "", "", + "the destination (name) of a symlink is resolved"); fprintf(stderr, " %-25s %2s %10s - %s\n", "--reverse-sort", "", "", "Sort reversed"); fprintf(stderr, " %-25s %2s %10s - %s\n", "--show-hidden-entries", "-a", "", @@ -81,6 +85,7 @@ void usage(char *executable) { fprintf(stderr, " C - change time\n"); fprintf(stderr, " G - group name\n"); fprintf(stderr, " g - group id\n"); + fprintf(stderr, " l - symlink (--resolve-symlinks required)\n"); fprintf(stderr, " M - modification time\n"); fprintf(stderr, " n - file name\n"); fprintf(stderr, " p - permissions\n"); @@ -111,6 +116,11 @@ void set_option(const char *option_name, char *option_argument) { return; } + if (strcmp("resolve-symlinks", option_name) == 0) { + option_resolve_symlinks = true; + return; + } + if (strcmp("reverse-sort", option_name) == 0) { option_sort_reverse_order = true; return; -- cgit v1.2.3-70-g09d2