]> err.no Git - dpkg/commitdiff
Properly count recursive expansion of variables, instead of just counting
authorAdam Heath <doogie@debian.org>
Sat, 25 May 2002 02:46:50 +0000 (02:46 +0000)
committerAdam Heath <doogie@debian.org>
Sat, 25 May 2002 02:46:50 +0000 (02:46 +0000)
all variable expansions.

ChangeLog
debian/changelog
scripts/controllib.pl

index f68337960e6a8b394366087fb9cdf2fbee2cedde..b8e08825352a3bdb2301e764934235e360425535 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 24 21:49:52 CDT 2002 Adam Heath <doogie@debian.org>
+
+  * scripts/controllib.pl: Properly count recursive expansion of variables,
+    instead of just counting all variable expansions.
+
 Fri May 24 21:20:04 CDT 2002 Adam Heath <doogie@debian.org>
 
   * scripts/cl-debian.pl: Recognize emergency as valid in changelogs.
index d1f18693c506fe2903f661938bbff4a631744ac9..465fa371d4b7f2b5b7bacd40b0cd2880e438c373 100644 (file)
@@ -103,6 +103,8 @@ dpkg (1.10) unstable; urgency=low
     Closes: Bug#140441.
   * cl-debian.pl now recognizes emergency as valid in changelogs.
     Closes: Bug#138013.
+  * Properly count recursive expansion of variables, instead of just
+    counting all variable expansions.  Closes: #144121.
 
  -- Wichert Akkerman <wakkerma@debian.org>  Mon, 20 Aug 2001 14:54:38 +0200
 
index 7b70e75a208e3273907baaf2cd89b926652be1bd..ade70071fad7c5e0561c6e3451dc0d02a1715d34 100755 (executable)
@@ -81,6 +81,10 @@ sub substvars {
     my ($lhs,$vn,$rhs,$count);
     $count=0;
     while ($v =~ m/\$\{([-:0-9a-z]+)\}/i) {
+        # If we have consumed more from the leftover data, then
+        # reset the recursive counter.
+        $count= 0 if (length($') < length($rhs));
+
         $count < $maxsubsts ||
             &error("too many substitutions - recursive ? - in \`$v'");
         $lhs=$`; $vn=$1; $rhs=$';