Re: cvs: php4(PHP_4_2_0) /ext/pgsql pgsql.c /ext/pgsql/tests 08escape.phpt escape.inc

From: Date: Thu, 04 Apr 2002 17:43:57 +0000
Subject: Re: cvs: php4(PHP_4_2_0) /ext/pgsql pgsql.c /ext/pgsql/tests 08escape.phpt escape.inc
References: 1  Groups: php.cvs php.qa 
Request: Send a blank email to php-qa+get-4893@lists.php.net to get a copy of this message
Hello Yasuo, although I dont oppose merging this fix, you should have discussed it first. We're in the last stadion of RC now, and we certainly dont want weird/stray patches go in now. Derick On Thu, 4 Apr 2002, Yasuo Ohgaki wrote: > yohgaki Thu Apr 4 10:29:35 2002 EDT > > Added files: (Branch: PHP_4_2_0) > /php4/ext/pgsql/tests 08escape.phpt escape.inc > > Modified files: > /php4/ext/pgsql pgsql.c > Log: > MFH > # Fixed crash with pg_escape_*() > # Added test for pg_escape_*() > > > Index: php4/ext/pgsql/pgsql.c > diff -u php4/ext/pgsql/pgsql.c:1.150.2.3 php4/ext/pgsql/pgsql.c:1.150.2.4 > --- php4/ext/pgsql/pgsql.c:1.150.2.3 Sat Mar 30 18:23:58 2002 > +++ php4/ext/pgsql/pgsql.c Thu Apr 4 10:29:34 2002 > @@ -19,7 +19,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: pgsql.c,v 1.150.2.3 2002/03/30 23:23:58 yohgaki Exp $ */ > +/* $Id: pgsql.c,v 1.150.2.4 2002/04/04 15:29:34 yohgaki Exp $ */ > > #include <stdlib.h> > > @@ -2376,17 +2376,15 @@ > PHP_FUNCTION(pg_escape_string) > { > char *from = NULL, *to = NULL; > - int len; > + size_t from_len, to_len; > if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", > - &from, &len) == FAILURE) { > + &from, &from_len) == FAILURE) { > return; > } > > - len = (int)PQescapeString(to, from, strlen(from)); > - if (len < 0) { > - RETURN_FALSE; > - } > - RETURN_STRINGL(to, len, 0); > + to = (char *)emalloc(from_len*2+1); > + to_len = (int)PQescapeString(to, from, from_len); > + RETURN_STRINGL(to, to_len, 0); > } > /* }}} */ > > @@ -2395,17 +2393,15 @@ > PHP_FUNCTION(pg_escape_bytea) > { > char *from = NULL, *to = NULL; > - int len; > + size_t from_len, to_len; > if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", > - &from, &len) == FAILURE) { > + &from, &from_len) == FAILURE) { > return; > } > > - to = (char *)PQescapeBytea((unsigned char*)from, strlen(from), (size_t *)&len); > - if (len < 0) { > - RETURN_FALSE; > - } > - RETURN_STRINGL(to, len, 0); > + to = (char *)PQescapeBytea((unsigned char*)from, from_len, &to_len); > + RETVAL_STRINGL(to, to_len-1, 1); > + free(to); > } > /* }}} */ > #endif > > Index: php4/ext/pgsql/tests/08escape.phpt > +++ php4/ext/pgsql/tests/08escape.phpt > --TEST-- > PostgreSQL escape functions > --SKIPIF-- > <?php include("skipif.inc"); ?> > --FILE-- > <?php > include("escape.inc"); > ?> > --EXPECT-- > OK > > Index: php4/ext/pgsql/tests/escape.inc > +++ php4/ext/pgsql/tests/escape.inc > <?php > $before = "ABC\\ABC"; > $expect = "ABC\\\\ABC"; > $after = pg_escape_string($before); > if ($expect === $after) { > echo "pg_escpae_string() is Ok\n"; > } > else { > echo "pg_escpae_string() is NOT Ok\n"; > var_dump($before); > var_dump($after); > var_dump($expect); > } > > $before = "ABC\\ABC"; > $expect = "ABC\\\\\\\\ABC"; > $after = pg_escape_bytea($before); > if ($expect === $after) { > echo "pg_escpae_byte() is Ok\n"; > } > else { > echo "pg_escpae_byte() is NOT Ok\n"; > var_dump($before); > var_dump($after); > var_dump($expect); > } > > ?> > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > ----------------------------------------------------------------------- PHP: Scripting the Web - derick@php.net All your branches are belong to me! SRM: Script Running Machine - www.vl-srm.net -----------------------------------------------------------------------

« previous php.qa (#4893) next »