瀏覽代碼

Fix regression producing perl warnings on update-alternatives

Commit 0fafaf6a2f43c487167a9bfa3f7abc55dcde582c reverted a fix for usage
of uninitialized variables.
Guillem Jover 19 年之前
父節點
當前提交
0aff794d30
共有 2 個文件被更改,包括 10 次插入2 次删除
  1. 6 0
      ChangeLog
  2. 4 2
      scripts/update-alternatives.pl

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2007-08-28  Guillem Jover  <guillem@debian.org>
+
+	* scripts/update-alternatives.pl: Fix regression introduced on commit
+	from 2007-08-08, which was producing a warning due to usage of
+	uninitialized variables.
+
 2007-08-28  Guillem Jover  <guillem@debian.org>
 2007-08-28  Guillem Jover  <guillem@debian.org>
 
 
 	* scripts/dpkg-gencontrol.pl: Add comments about the second pass
 	* scripts/dpkg-gencontrol.pl: Add comments about the second pass

+ 4 - 2
scripts/update-alternatives.pl

@@ -595,12 +595,14 @@ if ($mode eq 'auto') {
 	    unlink("$slink") || $! == &ENOENT ||
 	    unlink("$slink") || $! == &ENOENT ||
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
         } else {
         } else {
-	    if (!defined($linkname= readlink($slink)) && $! != ENOENT) {
+	    $linkname = readlink($slink);
+	    if (!defined($linkname) && $! != ENOENT) {
 		pr(sprintf(_g("warning: %s is supposed to be a slave symlink to\n".
 		pr(sprintf(_g("warning: %s is supposed to be a slave symlink to\n".
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		           $slink, "$altdir/$sname", $!))
 		           $slink, "$altdir/$sname", $!))
 		    if $verbosemode > 0;
 		    if $verbosemode > 0;
-	    } elsif ($linkname ne "$altdir/$sname") {
+	    } elsif (!defined($linkname) ||
+	            (defined($linkname) && $linkname ne "$altdir/$sname")) {
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		                 "$slink.dpkg-tmp", $!));
 		                 "$slink.dpkg-tmp", $!));