5f9b7675 |
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 $!; |