cvs: php4(PHP_4_3) /ext/standard string.c

From: Date: Fri, 03 Jan 2003 12:31:13 +0000
Subject: cvs: php4(PHP_4_3) /ext/standard string.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-17570@lists.php.net to get a copy of this message
derick Fri Jan 3 07:31:13 2003 EDT Modified files: (Branch: PHP_4_3) /php4/ext/standard string.c Log: - MFH for bug #21311 Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.333.2.5 php4/ext/standard/string.c:1.333.2.6 --- php4/ext/standard/string.c:1.333.2.5 Tue Dec 31 11:35:34 2002 +++ php4/ext/standard/string.c Fri Jan 3 07:31:13 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.333.2.5 2002/12/31 16:35:34 sebastian Exp $ */ +/* $Id: string.c,v 1.333.2.6 2003/01/03 12:31:13 derick Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1399,6 +1399,9 @@ if (Z_TYPE_PP(needle) == IS_STRING) { if (!Z_STRLEN_PP(needle)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter."); + efree(haystack_orig); + zval_ptr_dtor(haystack); + zval_ptr_dtor(needle); RETURN_FALSE; } @@ -3509,11 +3512,12 @@ /* JavaScript & Other HTML scripting languages */ if (state == 1 && *(p-1) == '<') { state = 3; + lc = c; } else { *(rp++) = c; } break; - + case '?': if (state == 1 && *(p-1)=='<') { @@ -3522,13 +3526,28 @@ break; } + case 'E': + case 'e': + /* !DOCTYPE exception */ + if (state==3 && p > buf+6 + && tolower(*(p-1)) == 'p' + && tolower(*(p-2)) == 'y' + && tolower(*(p-3)) == 't' + && tolower(*(p-4)) == 'c' + && tolower(*(p-5)) == 'o' + && tolower(*(p-6)) == 'd') { + state = 1; + break; + } + /* fall-through */ + case 'l': /* swm: If we encounter '<?xml' then we shouldn't be in * state == 2 (PHP). Switch back to HTML. */ - if (state == 2 && *(p-1) == 'm' && *(p-2) == 'x') { + if (state == 2 && p > buf+2 && *(p-1) == 'm' && *(p-2) == 'x') { state = 1; break; }

« previous php.cvs (#17570) next »