chiark / gitweb /
ipif encrypting tunnel much better now
[userv-utils.git] / finger / setprefs
1 #!/usr/bin/perl
2
3 use POSIX;
4
5 @ARGV==3 or die;
6 ($prefs_file, $new_list, $new_search) = @ARGV;
7
8 $new_list =~ m/^(\-|\+[imtlfn]+)$/ or die;  $new_list= $1;
9 $new_search =~ m/^([nuy])$/ or die;  $new_search= $1;
10
11 $user= $ENV{'USERV_USER'};  length $user or die;
12
13 open N, ">$prefs_file.new" or die $!;
14
15 if (open P, $prefs_file) {
16     while (<P>) {
17         die unless m/^(\w+) /;
18         next if $1 eq $user;
19         print N or die $!;
20     }
21     close P or die $!;
22 } elsif ($! != &ENOENT) {
23     die $!;
24 }
25
26 print N "$user $new_list $new_search\n" or die $!;
27 close N or die $!;
28
29 rename "$prefs_file.new", $prefs_file or die $!;