From 01132292c8a35f820712c6e9aebdb21d30248d84 Mon Sep 17 00:00:00 2001 From: Meudwy Date: Tue, 25 Jul 2023 11:55:26 +0100 Subject: [PATCH] minc: read directory names from stdin This matches `mlist` where it can take directories as arguments or via stdin. --- GNUmakefile | 4 ++-- man/minc.1 | 3 +++ minc.c | 13 ++++++++----- t/9000-minc.t | 6 ++++++ 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index c90e9383..89cb7794 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -28,8 +28,8 @@ all: $(ALL) museragent $(ALL) : % : %.o maddr magrep mdeliver mexport mflag mflow mgenmid mhdr mpick mscan msed mshow \ msort mthread : blaze822.o mymemmem.o mytimegm.o -maddr magrep mdeliver mexport mflag mgenmid mhdr mlist mpick mscan msed mseq \ - mshow msort mthread : seq.o slurp.o mystrverscmp.o +maddr magrep mdeliver mexport mflag mgenmid mhdr minc mlist mpick mscan msed \ + mseq mshow msort mthread : seq.o slurp.o mystrverscmp.o maddr magrep mflow mhdr mpick mscan mshow : rfc2047.o magrep mflow mhdr mshow : rfc2045.o mshow : filter.o safe_u8putstr.o rfc2231.o pipeto.o diff --git a/man/minc.1 b/man/minc.1 index cb71c859..6b7f96c5 100644 --- a/man/minc.1 +++ b/man/minc.1 @@ -17,6 +17,9 @@ by moving them from to .Pa cur , and adjusting the filenames. +If used non-interactively with no specified folders, +.Nm +reads directory names from the standard input. .Pp By default, the new filenames are printed, separated by newlines. diff --git a/minc.c b/minc.c index c1d28fd2..2811646a 100644 --- a/minc.c +++ b/minc.c @@ -74,14 +74,17 @@ main(int argc, char *argv[]) exit(1); } - if (optind == argc) - goto usage; - xpledge("stdio rpath cpath", ""); status = 0; - for (i = optind; i < argc; i++) - inc(argv[i]); + if (optind == argc) { + if (isatty(0)) + goto usage; + blaze822_loop(0, 0, inc); + } else { + for (i = optind; i < argc; i++) + inc(argv[i]); + } return status; } diff --git a/t/9000-minc.t b/t/9000-minc.t index 3d5b7894..3f6de27e 100644 --- a/t/9000-minc.t +++ b/t/9000-minc.t @@ -16,4 +16,10 @@ inbox/new/2 check_test 'minc' -eq 2 'minc inbox | wc -l' +while read f; do touch "$f"; done <