1 --- kdelibs/kio/misc/fileshareset.orig 2003-11-21 19:38:11.000000000 +0100
2 +++ kdelibs/kio/misc/fileshareset 2003-11-21 19:41:50.000000000 +0100
5 @ARGV == 2 && ($cmd eq '--add' || $cmd eq '--remove') or error($usage);
7 - verify_mntpoint($dir);
10 - my @errs = map { eval { $_->add($dir) }; $@ } @exports;
11 - grep { !$_ } @errs or error("already exported");
13 - my @errs = map { eval { $_->remove($dir) }; $@ } @exports;
14 - grep { !$_ } @errs or error("not exported");
16 + verify_mntpoint($dir);
17 + my @errs = map { eval { $_->add($dir) }; $@ } @exports;
18 + grep { !$_ } @errs or error("already exported");
20 + elsif ($cmd eq '--remove') {
21 + verify_mntpoint($dir, 1);
22 + my @errs = map { eval { $_->remove($dir) }; $@ } @exports;
23 + grep { !$_ } @errs or error("not exported");
28 foreach my $export (@exports) {
30 $export->update_server;
32 sub own { $uid == 0 || (stat($_[0]))[4] == $uid }
37 + my $mercy = shift; # true if dir doesn't have to exist
41 - $ok &&= !m|[\0\n\r]|;
47 + $ok &&= !m#[\0\n\r]#;
48 + if ($ok && $mercy && !-d && m#^/#) {
51 + 1 while $tmp =~ s#/[^/]*$## && length $tmp && !-d $tmp;
52 + $ok &&= length $tmp;
59 $ok or error("invalid mount point");
68 - if (/^\s*\[.*\]/ || eof F) {
69 - #- first line in the category
70 - my ($label) = $s =~ /^\s*\[(.*)\]/;
71 - my ($mntpoint) = $s =~ /^\s*path\s*=\s*(.*)/m;
72 - push @l, { mntpoint => $mntpoint, raw => $s, label => $label };
76 + if (/^\s*\[.*\]/ || eof F) {
77 + #- first line in the category
78 + my ($label) = $s =~ /^\s*\[(.*)\]/;
79 + my ($mntpoint) = $s =~ /^\s*path\s*=\s*(.*)/m;
81 + push @l, { mntpoint => $mntpoint, raw => $s, label => $label };
86 bless \@l, 'smb_exports';
93 +# vim: ts=4 sw=4 noet