diff options
-rw-r--r-- | lr.1 | 10 | ||||
-rw-r--r-- | lr.c | 9 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lr.1 b/lr.1 index 11d106c..b1e31da 100644 --- a/lr.1 +++ b/lr.1 @@ -1,4 +1,4 @@ -.Dd January 4, 2016 +.Dd June 20, 2017 .Dt LR 1 .Os .Sh NAME @@ -28,6 +28,14 @@ makes read file names from standard input, instead of traversing .Ar path . +Likewise, the special +.Ar path +argument +.Ic \&@ Ns Ar file +makes +.Nm +read file names from +.Ar file . .Pp The options are as follows: .Bl -tag -width Ds diff --git a/lr.c b/lr.c index 29463a4..bf7590d 100644 --- a/lr.c +++ b/lr.c @@ -1868,6 +1868,15 @@ traverse(const char *path) if (path[0] == '-' && !path[1]) return traverse_file(stdin); + if (path[0] == '@') { + FILE *f = fopen(path + 1, "r"); + if (!f) + parse_error("can't open input file '%s'", path + 1); + int r = traverse_file(f); + fclose(f); + return r; + } + prefixl = strlen(path); while (path[prefixl-1] == '/') prefixl--; |