Browse Source

Fix non-array return value in some cases on php 5.3.2, fixes #927

Jordi Boggiano 12 years ago
parent
commit
5ec41d83b4
1 changed files with 10 additions and 7 deletions
  1. 10 7
      src/Composer/Repository/Pear/ChannelRest11Reader.php

+ 10 - 7
src/Composer/Repository/Pear/ChannelRest11Reader.php

@@ -115,13 +115,16 @@ class ChannelRest11Reader extends BaseChannelReader
         }
 
         $releases = array();
-        foreach ($packageInfo->xpath('ns:a/ns:r') as $node) {
-            $releaseVersion = (string) $node->v;
-            $releaseStability = (string) $node->s;
-            $releases[$releaseVersion] = new ReleaseInfo(
-                $releaseStability,
-                isset($dependencies[$releaseVersion]) ? $dependencies[$releaseVersion] : new DependencyInfo(array(), array())
-            );
+        $releasesInfo = $packageInfo->xpath('ns:a/ns:r');
+        if ($releasesInfo) {
+            foreach ($releasesInfo as $node) {
+                $releaseVersion = (string) $node->v;
+                $releaseStability = (string) $node->s;
+                $releases[$releaseVersion] = new ReleaseInfo(
+                    $releaseStability,
+                    isset($dependencies[$releaseVersion]) ? $dependencies[$releaseVersion] : new DependencyInfo(array(), array())
+                );
+            }
         }
 
         return new PackageInfo(