Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > 133738fd1ec1a496d35c2af5039a0eb4 > files > 5

apt-0.5.15lorg3.94-32.mga7.src.rpm

diff -up apt-0.5.15lorg3.94pt/apt-pkg/rpm/rpmhandler.cc.brackets apt-0.5.15lorg3.94pt/apt-pkg/rpm/rpmhandler.cc
--- apt-0.5.15lorg3.94pt/apt-pkg/rpm/rpmhandler.cc.brackets	2014-09-28 01:00:16.418216424 +0200
+++ apt-0.5.15lorg3.94pt/apt-pkg/rpm/rpmhandler.cc	2014-09-28 05:06:16.331460425 +0200
@@ -1894,6 +1894,23 @@ const char * RPMUrpmHandler::ParseDepend
    for (;I != Stop && isspace(*I) == 0 && *I != '[' && *I != ']' &&
 	*I != '@'; I++);
 
+   if ((I != Stop) && ((*I) == '['))
+   {
+      // Check if the [ is part of the package name
+      const char *J = I;
+      
+      for (++J; (J != Stop) && ((*J) == '*' || (*J) == ']' || (*J) == '['); ++J);
+      for (; (J != Stop) && ((*J) != ']') && ((*J) != '@'); ++J);
+      if ((J != Stop) && ((*J) == ']'))
+      {
+         ++J;
+         if ((J != Stop) && ((*J) != '@'))
+         {
+            for (I = J; (I != Stop) && (isspace(*I) == 0) && (*I != '[') && (*I != ']') &&
+                 (*I != '@'); I++);
+         }
+      }
+   }
    // Stash the package name
    Package.assign(Start,I - Start);