cvs: /php4 TODO /php4/ext/standard string.c

From: Date: Mon, 20 Dec 1999 20:44:18 +0000
Subject: cvs: /php4 TODO /php4/ext/standard string.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-8252@lists.php.net to get a copy of this message
andrei Mon Dec 20 15:44:18 1999 EDT Modified files: /php4 TODO /php4/ext/standard string.c Log: Made quotemeta() binary-safe. @ Made quotemeta() binary-safe. (Andrei) Index: php4/TODO diff -u php4/TODO:1.22 php4/TODO:1.23 --- php4/TODO:1.22 Thu Dec 16 18:47:10 1999 +++ php4/TODO Mon Dec 20 15:43:46 1999 @@ -33,5 +33,4 @@ dirname() strrpos() strrchr() - quotemeta() strip_tags() Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.78 php4/ext/standard/string.c:1.79 --- php4/ext/standard/string.c:1.78 Sun Dec 19 09:39:41 1999 +++ php4/ext/standard/string.c Mon Dec 20 15:43:47 1999 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.78 1999/12/19 14:39:41 sas Exp $ */ +/* $Id: string.c,v 1.79 1999/12/20 20:43:47 andrei Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -991,8 +991,9 @@ Quote meta characters */ PHP_FUNCTION(quotemeta) { - pval **arg; + zval **arg; char *str, *old; + char *old_end; char *p, *q; char c; @@ -1002,14 +1003,16 @@ convert_to_string_ex(arg); old = (*arg)->value.str.val; + old_end = (*arg)->value.str.val + (*arg)->value.str.len; - if (!*old) { + if (old == old_end) { RETURN_FALSE; } str = emalloc(2 * (*arg)->value.str.len + 1); - for(p = old, q = str; (c = *p); p++) { + for(p = old, q = str; p != old_end; p++) { + c = *p; switch(c) { case '.': case '\\': @@ -1029,7 +1032,7 @@ } } *q = 0; - RETVAL_STRING(erealloc(str, q - str + 1), 0); + RETVAL_STRINGL(erealloc(str, q - str + 1), q - str, 0); } /* }}} */

« previous php.version4 (#8252) next »