diff options
| author | Thorsten Töpper <atsutane@freethoughts.de> | 2025-07-26 04:08:03 +0200 |
|---|---|---|
| committer | Thorsten Töpper <atsutane@freethoughts.de> | 2025-07-26 04:13:53 +0200 |
| commit | 387ab16a00b2427d0459ea13fff83f13a0919a11 (patch) | |
| tree | cf8a6afb557133a43bcee22a715717df349ea33a /src/dir_monitor.c | |
| parent | b44b44fce5d6c5b436b6d1e89726fd6190698811 (diff) | |
| download | dir_monitor-387ab16a00b2427d0459ea13fff83f13a0919a11.tar.gz dir_monitor-387ab16a00b2427d0459ea13fff83f13a0919a11.tar.bz2 | |
dir_monitor: by default open cwd of calling process
Also fix small memory leak in error case when attempting to collect
data. Irrelevant as this leads to program exit anyways.
Diffstat (limited to 'src/dir_monitor.c')
| -rw-r--r-- | src/dir_monitor.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/dir_monitor.c b/src/dir_monitor.c index 46409cd..935aa74 100644 --- a/src/dir_monitor.c +++ b/src/dir_monitor.c @@ -19,17 +19,26 @@ int main(int argc, char **argv) { struct list_head *list = NULL; int path_index = 1; - if (argc < 2) { - usage(argv[0]); - return EXIT_FAILURE; - } - path_index = parse_arguments(argc, argv); - if (path_index == argc) { - usage(argv[0]); - return EXIT_FAILURE; + if (argc > 2) { + path_index = parse_arguments(argc, argv); + if (path_index == argc) { + usage(argv[0]); + return EXIT_FAILURE; + } + list = get_data_from_directory(argv[path_index]); + } else if (argc == 2) { + if (argv[1][0] == '-') { + fputc('\n', stderr); + LOGERR("WARNING: if '%s' is a valid path use a prefix like ./\n\n", + argv[1]); + usage(argv[0]); + return EXIT_FAILURE; + } + list = get_data_from_directory(argv[1]); + } else { + list = get_data_from_directory("."); } - list = get_data_from_directory(argv[path_index]); if (option_format_string == NULL) { print_list(list); } else { |
