chiark / gitweb /
Correct handling of @@ stuff inside @@?; make NC_SITES vary.
[ian-dotfiles.git] / process
diff --git a/process b/process
index 513091890610b533e03631bee6c7198d31da57a1..192d96461a78463c68941e1cf85fe0d1e2b07a72 100755 (executable)
--- a/process
+++ b/process
@@ -32,7 +32,7 @@ sub read_prep ($) {
     if (!$c) { exec './gpt','config',$inputfile; die $!; }
 }
 sub fin_prep () {
-    $!=0; close P; die "$! $?" if $! or $?;
+    close P; die "$?" if $?;
 }
 
 read_prep('perms');
@@ -158,11 +158,12 @@ foreach $link (keys %linktargs) {
        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 $!;
        }
     }