cvs: ZendEngine2(PHP_5_2) / zend_language_scanner.l
[email protected] ("Marcus Boerger")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvshelly1206211988@cvsserver> |
helly Sat Mar 22 18:53:08 2008 UTC
Modified files: (Branch: PHP_5_2)
/ZendEngine2 zend_language_scanner.l
Log:
- Make multibyte a tad bit less crappy
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.131.2.11.2.13&r2=1.131.2.11.2.14&diff_format=u
Index: ZendEngine2/zend_language_scanner.l
diff -u ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13 ZendEngine2/zend_language_scanner.l:1.131.2.11.2.14
--- ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13 Sun Sep 9 16:33:34 2007
+++ ZendEngine2/zend_language_scanner.l Sat Mar 22 18:53:08 2008
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13 2007/09/09 16:33:34 iliaa Exp $ */
+/* $Id: zend_language_scanner.l,v 1.131.2.11.2.14 2008/03/22 18:53:08 helly Exp $ */
#define yyleng SCNG(yy_leng)
#define yytext SCNG(yy_text)
@@ -723,7 +723,7 @@
/* TODO: support widechars */
- for (n = 0; n < sizeof(buf) && (c = zend_stream_getc(yyin TSRMLS_CC)) != EOF && c != '\n'; ++n) {
+ for (n = 0; n < len && (c = zend_stream_getc(yyin TSRMLS_CC)) != EOF && c != '\n'; ++n) {
buf[n] = (char)c;
}
if (c == '\n') {
@@ -731,8 +731,8 @@
}
SCNG(script_org_size) = n;
- SCNG(script_org) = (char*)emalloc(SCNG(script_org_size)+1);
- memcpy(SCNG(script_org)+SCNG(script_org_size)-n, buf, n);
+ SCNG(script_org) = (char*)emalloc(SCNG(script_org_size) + 1);
+ memcpy(SCNG(script_org), buf, n);
return n;
}
@@ -749,29 +749,18 @@
SCNG(script_org) = NULL;
SCNG(script_org_size) = 0;
- for (;;) {
- n = zend_stream_read(yyin, buf, sizeof(buf) TSRMLS_CC);
- if (n <= 0) {
- break;
- }
-
+ for (; (n = zend_stream_read(yyin, buf, sizeof(buf) TSRMLS_CC)) > 0; ) {
SCNG(script_org_size) += n;
- if (SCNG(script_org)) {
- SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size)+1);
- } else {
- SCNG(script_org) = (char*)emalloc(SCNG(script_org_size)+1);
- }
- memcpy(SCNG(script_org)+SCNG(script_org_size)-n, buf, n);
+ SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size));
+ memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
}
if (n < 0) {
return -1;
}
- if (!SCNG(script_org)) {
- SCNG(script_org) = emalloc(SCNG(script_org_size)+1);
- }
- *(SCNG(script_org)+SCNG(script_org_size)) = (char)NULL;
+ SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
+ *(SCNG(script_org)+SCNG(script_org_size)) = '\0';
return 0;
}