Преглед изворни кода

Merge pull request #891 from naderman/t/do-not-iterate-non-arrays

Do not iterate non-array Traversables
Jordi Boggiano пре 9 година
родитељ
комит
774dedb352
1 измењених фајлова са 2 додато и 6 уклоњено
  1. 2 6
      src/Monolog/Formatter/NormalizerFormatter.php

+ 2 - 6
src/Monolog/Formatter/NormalizerFormatter.php

@@ -70,17 +70,13 @@ class NormalizerFormatter implements FormatterInterface
             return $data;
             return $data;
         }
         }
 
 
-        if (is_array($data) || $data instanceof \Traversable) {
+        if (is_array($data)) {
             $normalized = array();
             $normalized = array();
 
 
             $count = 1;
             $count = 1;
-            if ($data instanceof \Generator && !$data->valid()) {
-                return array('...' => 'Generator is already consumed, aborting');
-            }
-
             foreach ($data as $key => $value) {
             foreach ($data as $key => $value) {
                 if ($count++ >= 1000) {
                 if ($count++ >= 1000) {
-                    $normalized['...'] = 'Over 1000 items ('.($data instanceof \Generator ? 'generator function' : count($data).' total').'), aborting normalization';
+                    $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization';
                     break;
                     break;
                 }
                 }
                 $normalized[$key] = $this->normalize($value);
                 $normalized[$key] = $this->normalize($value);