Просмотр исходного кода

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

Do not iterate non-array Traversables
Jordi Boggiano 9 лет назад
Родитель
Сommit
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;
         }
 
-        if (is_array($data) || $data instanceof \Traversable) {
+        if (is_array($data)) {
             $normalized = array();
 
             $count = 1;
-            if ($data instanceof \Generator && !$data->valid()) {
-                return array('...' => 'Generator is already consumed, aborting');
-            }
-
             foreach ($data as $key => $value) {
                 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;
                 }
                 $normalized[$key] = $this->normalize($value);