From: ian Date: Tue, 9 Nov 1999 21:13:14 +0000 (+0000) Subject: As found on chiark in /usr/local/lib/news/feed+read/newsrc-listgroups X-Git-Tag: rel-uservutils-0-1~14 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv-utils.git;a=commitdiff_plain;h=45e019f41fc94ae17fd3001bb777f6adc4c3f08f As found on chiark in /usr/local/lib/news/feed+read/newsrc-listgroups --- diff --git a/newsrc-lg/newsrc-listgroups b/newsrc-lg/newsrc-listgroups new file mode 100755 index 0000000..73ad841 --- /dev/null +++ b/newsrc-lg/newsrc-listgroups @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +$minreaddays= 21; +$maxperuser= 250; + +open(CONF,"$ARGV[0]") or die $!; +while() { + next if m/^\#/ || !m/^\S/; + next if m/^(myfqdn|xref|server|server-nosearch|fetch|read|post|permit|believe|extrarc)\s/; + if (m/^minreaddays\s+(\d+)\s+$/) { + $minreaddays= $1; + } elsif (m/^maxperuser\s+(\d+)\s+$/) { + $maxperuser= $1; + } else { + die "$_ ?"; + } +} + +$newsrc= ".newsrc"; +exit 0 if -l $newsrc || ! -f _ || -M _ > $minreaddays; + +@g= (); + +open NEWSRC, $newsrc or die $!; +while () { + next unless s/:.*\n$//; + next unless m/^[-a-z0-9+]+\.[-a-z0-9+._]+$/i; + push @g, "$_\n"; +} +close NEWSRC or die $!; + +exit 0 if @g > $maxperuser; + +print sort @g or die $!; +close STDOUT or die $!; + +exit 0;