Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/mbstring/tests zend_multibyte-13.phpt ZendEngine2 zend_compile.h zend_language_scanner.l
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
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
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
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