Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/mbstring/tests zend_multibyte-13.phpt ZendEngine2 zend_compile.h zend_language_scanner.l

2008-07-28 Thread Marcus Boerger
Hello Moriyoshi,

  sorry for the confusion. They were. Only for some reason I got those
  mails too late.

marcus

Tuesday, July 29, 2008, 1:14:31 AM, you wrote:

> I thought these were fixed in the subsequent commit. Weren't they?

> Moriyoshi

> Marcus Boerger wrote:

>>> /* calculate current position */
>>> offset = original_offset = YYCURSOR - SCNG(yy_start);
>>> -   if (old_input_filter && original_offset > 0) {
>>> -   new_encoding = SCNG(script_encoding);
>>> +   if (old_input_filter && offset > 0) {
>>> +   zend_encoding *new_encoding = SCNG(script_encoding);
>>> +zend_encoding_filter new_filter = SCNG(input_filter);
>> 
>> You broke indentation here and at severl other places.
>> 
>>> SCNG(script_encoding) = old_encoding;
>>> -   do {




Best regards,
 Marcus


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



Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/mbstring/tests zend_multibyte-13.phpt ZendEngine2 zend_compile.h zend_language_scanner.l

2008-07-28 Thread Moriyoshi Koizumi

I thought these were fixed in the subsequent commit. Weren't they?

Moriyoshi

Marcus Boerger wrote:


/* calculate current position */
offset = original_offset = YYCURSOR - SCNG(yy_start);
-   if (old_input_filter && original_offset > 0) {
-   new_encoding = SCNG(script_encoding);
+   if (old_input_filter && offset > 0) {
+   zend_encoding *new_encoding = SCNG(script_encoding);
+zend_encoding_filter new_filter = SCNG(input_filter);


You broke indentation here and at severl other places.


SCNG(script_encoding) = old_encoding;
-   do {


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



Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/mbstring/tests zend_multibyte-13.phpt ZendEngine2 zend_compile.h zend_language_scanner.l

2008-07-28 Thread Marcus Boerger
Hello Moriyoshi,

Monday, July 28, 2008, 7:59:17 AM, you wrote:

> moriyoshi   Mon Jul 28 05:59:17 2008 UTC

>   Added files: (Branch: PHP_5_3)
> /php-src/ext/mbstring/tests   zend_multibyte-13.phpt 

>   Modified files:  
> /ZendEngine2zend_language_scanner.l zend_compile.h 
>   Log:
>   - Fix __halt_compiler() weirdness with zend-mulibyte enabled
>   
>   
> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.131.2.11.2.13.2.25&r2=1.131.2.11.2.13.2.26&diff_format=u
> Index: ZendEngine2/zend_language_scanner.l
> diff -u ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.25
> ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.26
> --- ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.25Sat Jul 26 
> 15:30:25 2008
> +++ ZendEngine2/zend_language_scanner.l   Mon Jul 28 05:59:16 2008
> @@ -21,7 +21,7 @@
>
> +--+
>  */
>  
> -/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.25 2008/07/26 15:30:25 
> dmitry Exp $ */
> +/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.26 2008/07/28 05:59:16 
> moriyoshi Exp $ */
>  
>  #if 0
>  # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
> @@ -444,9 +444,26 @@
>  }
>  
>  
> -ZEND_API int zend_get_scanned_file_offset(TSRMLS_D)
> +ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
>  {
> -   return SCNG(yy_cursor) - SCNG(yy_start);
> +   size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
> +#ifdef ZEND_MULTIBYTE
> +size_t original_offset = offset, length = 0;
> +do {
> +unsigned char *p = NULL;
> +SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
> +if (!p) {
> +break;
> +}
> +efree(p);
> +if (length > original_offset) {
> +offset--;
> +} else if (length < original_offset) {
> +offset++;
> +}
> +} while (original_offset != length);
> +#endif
> +return offset;
>  }
>  
>  
> @@ -581,29 +598,19 @@
>  BEGIN_EXTERN_C()
>  ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter
> old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
>  {
> -   size_t offset, original_offset, length, free_flag, new_len;
> +   size_t original_offset, offset, free_flag, new_len, length;
> unsigned char *p;
> -   zend_encoding *new_encoding;
>  
> /* calculate current position */
> offset = original_offset = YYCURSOR - SCNG(yy_start);
> -   if (old_input_filter && original_offset > 0) {
> -   new_encoding = SCNG(script_encoding);
> +   if (old_input_filter && offset > 0) {
> +   zend_encoding *new_encoding = SCNG(script_encoding);
> +zend_encoding_filter new_filter = SCNG(input_filter);

You broke indentation here and at severl other places.

> SCNG(script_encoding) = old_encoding;
> -   do {
> -   (old_input_filter)(&p, &length,
> SCNG(script_org), offset TSRMLS_CC);
> -   if (!p) {
> -   SCNG(script_encoding) = new_encoding;
> -   return;
> -   }
> -   efree(p);
> -   if (length > original_offset) {
> -   offset--;
> -   } else if (length < original_offset) {
> -   offset++;
> -   }
> -   } while (original_offset != length);
> +SCNG(input_filter) = new_filter;
> +offset = zend_get_scanned_file_offset(TSRMLS_C);
> SCNG(script_encoding) = new_encoding;
> +   SCNG(input_filter) = new_filter;
> }
>  
> /* convert and set */
> @@ -1926,7 +1933,7 @@
>  
> /* Check for ending label on the next line */
> if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, 
> CG(heredoc_len))) {
> -   char *end = YYCURSOR + CG(heredoc_len);
> +   unsigned char *end = YYCURSOR + CG(heredoc_len);
>  
> if (*end == ';') {
> end++;
> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.h?r1=1.316.2.8.2.12.2.30&r2=1.316.2.8.2.12.2.31&diff_format=u
> Index: ZendEngine2/zend_compile.h
> diff -u ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.30
> ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.31
> --- ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.30  Sat Jul 26 15:30:24 
> 2008
> +++ ZendEngine2/zend_compile.h  Mon Jul 28 05:59:16 2008
> @@ -17,7 +17,7 @@
>
> +--+
>  */
>  
> -/* $Id: zend_compile.h,v 1.316.2.8.2.12.2.30 2008/07/26 15:30:24 dmitry Exp 
> $ */
> +/* $Id: zend_compile.h,v 1.316.2.8.2.12.2.31 2008/07/28 05:59:16 moriyoshi 
> Exp $ */
>  
>  #ifndef ZEND_COMPILE_H
>  #define ZEND_COMPILE_H
> @@ -357,7 +

[PHP-CVS] cvs: php-src(PHP_5_3) /ext/mbstring/tests zend_multibyte-13.phpt ZendEngine2 zend_compile.h zend_language_scanner.l

2008-07-27 Thread Moriyoshi Koizumi
moriyoshi   Mon Jul 28 05:59:17 2008 UTC

  Added files: (Branch: PHP_5_3)
/php-src/ext/mbstring/tests zend_multibyte-13.phpt 

  Modified files:  
/ZendEngine2zend_language_scanner.l zend_compile.h 
  Log:
  - Fix __halt_compiler() weirdness with zend-mulibyte enabled
  
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.131.2.11.2.13.2.25&r2=1.131.2.11.2.13.2.26&diff_format=u
Index: ZendEngine2/zend_language_scanner.l
diff -u ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.25 
ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.26
--- ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.25Sat Jul 26 
15:30:25 2008
+++ ZendEngine2/zend_language_scanner.l Mon Jul 28 05:59:16 2008
@@ -21,7 +21,7 @@
+--+
 */
 
-/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.25 2008/07/26 15:30:25 
dmitry Exp $ */
+/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.26 2008/07/28 05:59:16 
moriyoshi Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -444,9 +444,26 @@
 }
 
 
-ZEND_API int zend_get_scanned_file_offset(TSRMLS_D)
+ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
 {
-   return SCNG(yy_cursor) - SCNG(yy_start);
+   size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
+#ifdef ZEND_MULTIBYTE
+size_t original_offset = offset, length = 0;
+do {
+unsigned char *p = NULL;
+SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
+if (!p) {
+break;
+}
+efree(p);
+if (length > original_offset) {
+offset--;
+} else if (length < original_offset) {
+offset++;
+}
+} while (original_offset != length);
+#endif
+return offset;
 }
 
 
@@ -581,29 +598,19 @@
 BEGIN_EXTERN_C()
 ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter 
old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
 {
-   size_t offset, original_offset, length, free_flag, new_len;
+   size_t original_offset, offset, free_flag, new_len, length;
unsigned char *p;
-   zend_encoding *new_encoding;
 
/* calculate current position */
offset = original_offset = YYCURSOR - SCNG(yy_start);
-   if (old_input_filter && original_offset > 0) {
-   new_encoding = SCNG(script_encoding);
+   if (old_input_filter && offset > 0) {
+   zend_encoding *new_encoding = SCNG(script_encoding);
+zend_encoding_filter new_filter = SCNG(input_filter);
SCNG(script_encoding) = old_encoding;
-   do {
-   (old_input_filter)(&p, &length, SCNG(script_org), 
offset TSRMLS_CC);
-   if (!p) {
-   SCNG(script_encoding) = new_encoding;
-   return;
-   }
-   efree(p);
-   if (length > original_offset) {
-   offset--;
-   } else if (length < original_offset) {
-   offset++;
-   }
-   } while (original_offset != length);
+SCNG(input_filter) = new_filter;
+offset = zend_get_scanned_file_offset(TSRMLS_C);
SCNG(script_encoding) = new_encoding;
+   SCNG(input_filter) = new_filter;
}
 
/* convert and set */
@@ -1926,7 +1933,7 @@
 
/* Check for ending label on the next line */
if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, 
CG(heredoc_len))) {
-   char *end = YYCURSOR + CG(heredoc_len);
+   unsigned char *end = YYCURSOR + CG(heredoc_len);
 
if (*end == ';') {
end++;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.h?r1=1.316.2.8.2.12.2.30&r2=1.316.2.8.2.12.2.31&diff_format=u
Index: ZendEngine2/zend_compile.h
diff -u ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.30 
ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.31
--- ZendEngine2/zend_compile.h:1.316.2.8.2.12.2.30  Sat Jul 26 15:30:24 2008
+++ ZendEngine2/zend_compile.h  Mon Jul 28 05:59:16 2008
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: zend_compile.h,v 1.316.2.8.2.12.2.30 2008/07/26 15:30:24 dmitry Exp $ 
*/
+/* $Id: zend_compile.h,v 1.316.2.8.2.12.2.31 2008/07/28 05:59:16 moriyoshi Exp 
$ */
 
 #ifndef ZEND_COMPILE_H
 #define ZEND_COMPILE_H
@@ -357,7 +357,7 @@
 ZEND_API void zend_restore_compiled_filename(char *original_compiled_filename 
TSRMLS_DC);
 ZEND_API char *zend_get_compiled_filename(TSRMLS_D);
 ZEND_API int zend_get_compiled_lineno(TSRMLS_D);
-ZEND_API int zend_get_scanned_file_offset(TSRMLS_D);
+ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D);
 
 void zend_resolve_class_name(znode *class_name, ulong *fetch_typ