diff options
author | ian <ian> | 1999-11-09 21:13:14 +0000 |
---|---|---|
committer | ian <ian> | 1999-11-09 21:13:14 +0000 |
commit | 45e019f41fc94ae17fd3001bb777f6adc4c3f08f (patch) | |
tree | 082aea2d6c830382d746633e29190d89eccd21fc /newsrc-lg | |
parent | 0e397d0be8cd0f6e57cb7b78dada83a30261fb73 (diff) | |
download | userv-utils-45e019f41fc94ae17fd3001bb777f6adc4c3f08f.tar.gz |
As found on chiark in /usr/local/lib/news/feed+read/newsrc-listgroups
Diffstat (limited to 'newsrc-lg')
-rwxr-xr-x | newsrc-lg/newsrc-listgroups | 37 |
1 files changed, 37 insertions, 0 deletions
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(<CONF>) { + 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 (<NEWSRC>) { + 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; |