aboutsummaryrefslogtreecommitdiff
path: root/src/options.c
diff options
context:
space:
mode:
authorThorsten Töpper <atsutane@freethoughts.de>2025-08-02 00:02:57 +0200
committerThorsten Töpper <atsutane@freethoughts.de>2025-08-02 00:02:57 +0200
commit31aaaca68b15fab61bf8a5e2b0187111fae27f46 (patch)
treecf79e58e336d34d2feba574e2cc0906b84e8ce32 /src/options.c
parentd4aa1654b0136d226cf23135888077468c8e8451 (diff)
downloaddir_monitor-31aaaca68b15fab61bf8a5e2b0187111fae27f46.tar.gz
dir_monitor-31aaaca68b15fab61bf8a5e2b0187111fae27f46.tar.bz2
symlinks: destination can be resolved
Diffstat (limited to 'src/options.c')
-rw-r--r--src/options.c10
1 files changed, 10 insertions, 0 deletions
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;