if (!$c) { exec './gpt','config',$inputfile; die $!; }
}
sub fin_prep () {
- $!=0; close P; die "$! $?" if $! or $?;
+ close P; die "$?" if $?;
}
read_prep('perms');
last if m/^\.$/;
if (m/(.*\S)\s+\-\>\s+(\S.*)/) {
$linktargs{$1}= $2;
+ } elsif (m/^(.*\S)\s+\-\-$/) {
+ $exclude{$1}= 1;
} elsif (m/^(.*\S)\s+(\S+)$/) {
($of,$pe)=($1,$2);
$isdir= $of =~ s,/$,,;
opendir D, "files" or die $!;
while ($if=readdir D) {
next unless $if =~ m/^[_a-z0-9\\]/;
+ next if $if =~ m/\~$/;
$of= $if;
$of =~ s,_,/,g;
$of =~ s,^/,,;
length $1 eq 1 ? $1 : sprintf '%c', hex $1
/ge;
+ next if $exclude{$of};
+
mkparents($of);
$newf= 'new/'.$if;
prep_proc('files/'.$if,$newf);
defined($rl= readlink $home.$link) or die $!;
} else {
die unless $!==&ENOENT;
- $rl= '';
+ $rl= undef;
}
if ($rl ne $targ) {
would($link, "symlink $targ <-");
if ($action) {
+ unlink $home.$link if defined $rl;
symlink $targ,$home.$link or die $!;
}
}