iliaa                                    Mon, 28 Feb 2011 15:18:27 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=308761

Log:
Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).

Bug: http://bugs.php.net/54089 (Open) token_get_all with regards to 
__halt_compiler is not binary safe
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/NEWS
    A   php/php-src/branches/PHP_5_3/ext/tokenizer/tests/bug54089.phpt
    U   
php/php-src/branches/PHP_5_3/ext/tokenizer/tests/token_get_all_variation16.phpt
    U   php/php-src/branches/PHP_5_3/ext/tokenizer/tokenizer.c
    A   php/php-src/trunk/ext/tokenizer/tests/bug54089.phpt
    U   php/php-src/trunk/ext/tokenizer/tests/token_get_all_variation16.phpt
    U   php/php-src/trunk/ext/tokenizer/tokenizer.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS	2011-02-28 14:16:00 UTC (rev 308760)
+++ php/php-src/branches/PHP_5_3/NEWS	2011-02-28 15:18:27 UTC (rev 308761)
@@ -16,6 +16,11 @@
 - SPL extension:
   . Fixed memory leak in DirectoryIterator::getExtension() and
     SplFileInfo::getExtension(). (Felipe)
+
+- Tokenizer Extension
+  . Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
+    (Ilia)
+
 17 Feb 2011, PHP 5.3.6RC1
 - Upgraded bundled Sqlite3 to version 3.7.4. (Ilia)
 - Upgraded bundled PCRE to version 8.11. (Ilia)

Added: php/php-src/branches/PHP_5_3/ext/tokenizer/tests/bug54089.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/tokenizer/tests/bug54089.phpt	                        (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/tokenizer/tests/bug54089.phpt	2011-02-28 15:18:27 UTC (rev 308761)
@@ -0,0 +1,40 @@
+--TEST--
+Bug #54089 (token_get_all() does not stop after __halt_compiler)
+--SKIPIF--
+<?php if (!extension_loaded("tokenizer")) print "skip"; ?>
+--FILE--
+<?php
+$code = "<?php __halt_compiler();\x01?>\x02";
+$tokens = token_get_all($code);
+
+var_dump($tokens);
+
+$code = '';
+foreach ($tokens as $t)
+{
+	$code .= isset($t[1]) ? $t[1] : $t;
+}
+var_dump($code);
+?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  array(3) {
+    [0]=>
+    int(%d)
+    [1]=>
+    string(6) "<?php "
+    [2]=>
+    int(1)
+  }
+  [1]=>
+  array(3) {
+    [0]=>
+    int(%d)
+    [1]=>
+    string(15) "__halt_compiler"
+    [2]=>
+    int(1)
+  }
+}
+string(21) "<?php __halt_compiler"

Modified: php/php-src/branches/PHP_5_3/ext/tokenizer/tests/token_get_all_variation16.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/tokenizer/tests/token_get_all_variation16.phpt	2011-02-28 14:16:00 UTC (rev 308760)
+++ php/php-src/branches/PHP_5_3/ext/tokenizer/tests/token_get_all_variation16.phpt	2011-02-28 15:18:27 UTC (rev 308761)
@@ -55,11 +55,11 @@
 ?>
 --EXPECTF--
 *** Testing token_get_all() : with different function constructs ***
-array(142) {
+array(135) {
   [0]=>
   array(3) {
     [0]=>
-    int(368)
+    int(%d)
     [1]=>
     string(6) "<?php
 "
@@ -69,7 +69,7 @@
   [1]=>
   array(3) {
     [0]=>
-    int(324)
+    int(%d)
     [1]=>
     string(7) "declare"
     [2]=>
@@ -80,7 +80,7 @@
   [3]=>
   array(3) {
     [0]=>
-    int(307)
+    int(%d)
     [1]=>
     string(5) "VALUE"
     [2]=>
@@ -91,7 +91,7 @@
   [5]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(3) "100"
     [2]=>
@@ -104,7 +104,7 @@
   [8]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -114,7 +114,7 @@
   [9]=>
   array(3) {
     [0]=>
-    int(262)
+    int(%d)
     [1]=>
     string(7) "include"
     [2]=>
@@ -125,7 +125,7 @@
   [11]=>
   array(3) {
     [0]=>
-    int(315)
+    int(%d)
     [1]=>
     string(13) ""addfile.php""
     [2]=>
@@ -138,7 +138,7 @@
   [14]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -148,7 +148,7 @@
   [15]=>
   array(3) {
     [0]=>
-    int(259)
+    int(%d)
     [1]=>
     string(7) "require"
     [2]=>
@@ -159,7 +159,7 @@
   [17]=>
   array(3) {
     [0]=>
-    int(315)
+    int(%d)
     [1]=>
     string(13) ""sumfile.php""
     [2]=>
@@ -172,7 +172,7 @@
   [20]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(2) "

@@ -183,7 +183,7 @@
   [21]=>
   array(3) {
     [0]=>
-    int(334)
+    int(%d)
     [1]=>
     string(8) "function"
     [2]=>
@@ -192,7 +192,7 @@
   [22]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -201,7 +201,7 @@
   [23]=>
   array(3) {
     [0]=>
-    int(307)
+    int(%d)
     [1]=>
     string(10) "myFunction"
     [2]=>
@@ -212,7 +212,7 @@
   [25]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$a"
     [2]=>
@@ -223,7 +223,7 @@
   [27]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -235,7 +235,7 @@
   [29]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(3) "
   "
@@ -245,7 +245,7 @@
   [30]=>
   array(3) {
     [0]=>
-    int(301)
+    int(%d)
     [1]=>
     string(2) "if"
     [2]=>
@@ -256,7 +256,7 @@
   [32]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$a"
     [2]=>
@@ -265,7 +265,7 @@
   [33]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -276,7 +276,7 @@
   [35]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -285,7 +285,7 @@
   [36]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "2"
     [2]=>
@@ -296,7 +296,7 @@
   [38]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(5) "
     "
@@ -306,7 +306,7 @@
   [39]=>
   array(3) {
     [0]=>
-    int(336)
+    int(%d)
     [1]=>
     string(6) "return"
     [2]=>
@@ -315,7 +315,7 @@
   [40]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -324,7 +324,7 @@
   [41]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "1"
     [2]=>
@@ -335,7 +335,7 @@
   [43]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(3) "
   "
@@ -345,7 +345,7 @@
   [44]=>
   array(3) {
     [0]=>
-    int(303)
+    int(%d)
     [1]=>
     string(4) "else"
     [2]=>
@@ -354,7 +354,7 @@
   [45]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(5) "
     "
@@ -364,7 +364,7 @@
   [46]=>
   array(3) {
     [0]=>
-    int(300)
+    int(%d)
     [1]=>
     string(4) "exit"
     [2]=>
@@ -375,7 +375,7 @@
   [48]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -387,7 +387,7 @@
   [50]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(2) "

@@ -398,7 +398,7 @@
   [51]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$a"
     [2]=>
@@ -407,7 +407,7 @@
   [52]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -418,7 +418,7 @@
   [54]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -427,7 +427,7 @@
   [55]=>
   array(3) {
     [0]=>
-    int(307)
+    int(%d)
     [1]=>
     string(5) "VALUE"
     [2]=>
@@ -438,7 +438,7 @@
   [57]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -448,7 +448,7 @@
   [58]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$b"
     [2]=>
@@ -457,7 +457,7 @@
   [59]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -468,7 +468,7 @@
   [61]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -477,7 +477,7 @@
   [62]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(2) "20"
     [2]=>
@@ -488,7 +488,7 @@
   [64]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -498,7 +498,7 @@
   [65]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$c"
     [2]=>
@@ -507,7 +507,7 @@
   [66]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -518,7 +518,7 @@
   [68]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -527,7 +527,7 @@
   [69]=>
   array(3) {
     [0]=>
-    int(360)
+    int(%d)
     [1]=>
     string(5) "array"
     [2]=>
@@ -538,7 +538,7 @@
   [71]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "1"
     [2]=>
@@ -549,7 +549,7 @@
   [73]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "2"
     [2]=>
@@ -562,7 +562,7 @@
   [76]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -572,7 +572,7 @@
   [77]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$b"
     [2]=>
@@ -581,7 +581,7 @@
   [78]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -590,7 +590,7 @@
   [79]=>
   array(3) {
     [0]=>
-    int(267)
+    int(%d)
     [1]=>
     string(3) ">>="
     [2]=>
@@ -599,7 +599,7 @@
   [80]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -608,7 +608,7 @@
   [81]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "2"
     [2]=>
@@ -619,7 +619,7 @@
   [83]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(2) "

@@ -630,7 +630,7 @@
   [84]=>
   array(3) {
     [0]=>
-    int(301)
+    int(%d)
     [1]=>
     string(2) "if"
     [2]=>
@@ -641,7 +641,7 @@
   [86]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$b"
     [2]=>
@@ -650,7 +650,7 @@
   [87]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -659,7 +659,7 @@
   [88]=>
   array(3) {
     [0]=>
-    int(285)
+    int(%d)
     [1]=>
     string(2) "<="
     [2]=>
@@ -668,7 +668,7 @@
   [89]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -677,7 +677,7 @@
   [90]=>
   array(3) {
     [0]=>
-    int(305)
+    int(%d)
     [1]=>
     string(1) "0"
     [2]=>
@@ -688,7 +688,7 @@
   [92]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(3) "
   "
@@ -698,7 +698,7 @@
   [93]=>
   array(3) {
     [0]=>
-    int(300)
+    int(%d)
     [1]=>
     string(3) "die"
     [2]=>
@@ -709,7 +709,7 @@
   [95]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -719,7 +719,7 @@
   [96]=>
   array(3) {
     [0]=>
-    int(303)
+    int(%d)
     [1]=>
     string(4) "else"
     [2]=>
@@ -728,7 +728,7 @@
   [97]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(3) "
   "
@@ -738,7 +738,7 @@
   [98]=>
   array(3) {
     [0]=>
-    int(266)
+    int(%d)
     [1]=>
     string(5) "print"
     [2]=>
@@ -749,7 +749,7 @@
   [100]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$b"
     [2]=>
@@ -762,7 +762,7 @@
   [103]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(2) "

@@ -773,7 +773,7 @@
   [104]=>
   array(3) {
     [0]=>
-    int(359)
+    int(%d)
     [1]=>
     string(4) "list"
     [2]=>
@@ -784,7 +784,7 @@
   [106]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(7) "$value1"
     [2]=>
@@ -795,7 +795,7 @@
   [108]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(7) "$value2"
     [2]=>
@@ -806,7 +806,7 @@
   [110]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -817,7 +817,7 @@
   [112]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -826,7 +826,7 @@
   [113]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(2) "$c"
     [2]=>
@@ -837,7 +837,7 @@
   [115]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) "
 "
@@ -847,7 +847,7 @@
   [116]=>
   array(3) {
     [0]=>
-    int(301)
+    int(%d)
     [1]=>
     string(2) "if"
     [2]=>
@@ -858,7 +858,7 @@
   [118]=>
   array(3) {
     [0]=>
-    int(351)
+    int(%d)
     [1]=>
     string(5) "empty"
     [2]=>
@@ -869,7 +869,7 @@
   [120]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(7) "$value1"
     [2]=>
@@ -880,7 +880,7 @@
   [122]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -889,7 +889,7 @@
   [123]=>
   array(3) {
     [0]=>
-    int(279)
+    int(%d)
     [1]=>
     string(2) "&&"
     [2]=>
@@ -898,7 +898,7 @@
   [124]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -909,7 +909,7 @@
   [126]=>
   array(3) {
     [0]=>
-    int(350)
+    int(%d)
     [1]=>
     string(5) "isset"
     [2]=>
@@ -920,7 +920,7 @@
   [128]=>
   array(3) {
     [0]=>
-    int(309)
+    int(%d)
     [1]=>
     string(7) "$value1"
     [2]=>
@@ -933,7 +933,7 @@
   [131]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(1) " "
     [2]=>
@@ -944,7 +944,7 @@
   [133]=>
   array(3) {
     [0]=>
-    int(371)
+    int(%d)
     [1]=>
     string(3) "
   "
@@ -954,48 +954,11 @@
   [134]=>
   array(3) {
     [0]=>
-    int(352)
+    int(%d)
     [1]=>
     string(15) "__halt_compiler"
     [2]=>
     int(26)
   }
-  [135]=>
-  string(1) "("
-  [136]=>
-  string(1) ")"
-  [137]=>
-  string(1) ";"
-  [138]=>
-  array(3) {
-    [0]=>
-    int(371)
-    [1]=>
-    string(1) "
-"
-    [2]=>
-    int(26)
-  }
-  [139]=>
-  string(1) "}"
-  [140]=>
-  array(3) {
-    [0]=>
-    int(371)
-    [1]=>
-    string(1) "
-"
-    [2]=>
-    int(27)
-  }
-  [141]=>
-  array(3) {
-    [0]=>
-    int(370)
-    [1]=>
-    string(2) "?>"
-    [2]=>
-    int(28)
-  }
 }
 Done

Modified: php/php-src/branches/PHP_5_3/ext/tokenizer/tokenizer.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/tokenizer/tokenizer.c	2011-02-28 14:16:00 UTC (rev 308760)
+++ php/php-src/branches/PHP_5_3/ext/tokenizer/tokenizer.c	2011-02-28 15:18:27 UTC (rev 308761)
@@ -151,6 +151,10 @@
 		ZVAL_NULL(&token);

 		token_line = CG(zend_lineno);
+
+		if (token_type == T_HALT_COMPILER) {
+			break;
+		}
 	}
 }


Added: php/php-src/trunk/ext/tokenizer/tests/bug54089.phpt
===================================================================
--- php/php-src/trunk/ext/tokenizer/tests/bug54089.phpt	                        (rev 0)
+++ php/php-src/trunk/ext/tokenizer/tests/bug54089.phpt	2011-02-28 15:18:27 UTC (rev 308761)
@@ -0,0 +1,40 @@
+--TEST--
+Bug #54089 (token_get_all() does not stop after __halt_compiler)
+--SKIPIF--
+<?php if (!extension_loaded("tokenizer")) print "skip"; ?>
+--FILE--
+<?php
+$code = "<?php __halt_compiler();\x01?>\x02";
+$tokens = token_get_all($code);
+
+var_dump($tokens);
+
+$code = '';
+foreach ($tokens as $t)
+{
+	$code .= isset($t[1]) ? $t[1] : $t;
+}
+var_dump($code);
+?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  array(3) {
+    [0]=>
+    int(%d)
+    [1]=>
+    string(6) "<?php "
+    [2]=>
+    int(1)
+  }
+  [1]=>
+  array(3) {
+    [0]=>
+    int(%d)
+    [1]=>
+    string(15) "__halt_compiler"
+    [2]=>
+    int(1)
+  }
+}
+string(21) "<?php __halt_compiler"

Modified: php/php-src/trunk/ext/tokenizer/tests/token_get_all_variation16.phpt
===================================================================
--- php/php-src/trunk/ext/tokenizer/tests/token_get_all_variation16.phpt	2011-02-28 14:16:00 UTC (rev 308760)
+++ php/php-src/trunk/ext/tokenizer/tests/token_get_all_variation16.phpt	2011-02-28 15:18:27 UTC (rev 308761)
@@ -55,7 +55,7 @@
 ?>
 --EXPECTF--
 *** Testing token_get_all() : with different function constructs ***
-array(142) {
+array(135) {
   [0]=>
   array(3) {
     [0]=>
@@ -114,11 +114,11 @@
   [9]=>
   array(3) {
     [0]=>
-    int(262)
+    int(%d)
     [1]=>
     string(7) "include"
     [2]=>
-    int(%d)
+    int(3)
   }
   [10]=>
   string(1) "("
@@ -129,7 +129,7 @@
     [1]=>
     string(13) ""addfile.php""
     [2]=>
-    int(%d)
+    int(3)
   }
   [12]=>
   string(1) ")"
@@ -143,12 +143,12 @@
     string(1) "
 "
     [2]=>
-    int(%d)
+    int(3)
   }
   [15]=>
   array(3) {
     [0]=>
-    int(259)
+    int(%d)
     [1]=>
     string(7) "require"
     [2]=>
@@ -590,7 +590,7 @@
   [79]=>
   array(3) {
     [0]=>
-    int(267)
+    int(%d)
     [1]=>
     string(3) ">>="
     [2]=>
@@ -659,7 +659,7 @@
   [88]=>
   array(3) {
     [0]=>
-    int(285)
+    int(%d)
     [1]=>
     string(2) "<="
     [2]=>
@@ -738,7 +738,7 @@
   [98]=>
   array(3) {
     [0]=>
-    int(266)
+    int(%d)
     [1]=>
     string(5) "print"
     [2]=>
@@ -889,7 +889,7 @@
   [123]=>
   array(3) {
     [0]=>
-    int(279)
+    int(%d)
     [1]=>
     string(2) "&&"
     [2]=>
@@ -960,42 +960,5 @@
     [2]=>
     int(26)
   }
-  [135]=>
-  string(1) "("
-  [136]=>
-  string(1) ")"
-  [137]=>
-  string(1) ";"
-  [138]=>
-  array(3) {
-    [0]=>
-    int(%d)
-    [1]=>
-    string(1) "
-"
-    [2]=>
-    int(26)
-  }
-  [139]=>
-  string(1) "}"
-  [140]=>
-  array(3) {
-    [0]=>
-    int(%d)
-    [1]=>
-    string(1) "
-"
-    [2]=>
-    int(27)
-  }
-  [141]=>
-  array(3) {
-    [0]=>
-    int(%d)
-    [1]=>
-    string(2) "?>"
-    [2]=>
-    int(28)
-  }
 }
 Done

Modified: php/php-src/trunk/ext/tokenizer/tokenizer.c
===================================================================
--- php/php-src/trunk/ext/tokenizer/tokenizer.c	2011-02-28 14:16:00 UTC (rev 308760)
+++ php/php-src/trunk/ext/tokenizer/tokenizer.c	2011-02-28 15:18:27 UTC (rev 308761)
@@ -151,6 +151,10 @@
 		ZVAL_NULL(&token);

 		token_line = CG(zend_lineno);
+
+		if (token_type == T_HALT_COMPILER) {
+			break;
+		}
 	}
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to