helly Fri May 30 11:42:46 2003 EDT Modified files: /php4/ext/pgsql pgsql.c /php4/ext/pgsql/tests 09notice.phpt Log: Fix notice handling Index: php4/ext/pgsql/pgsql.c diff -u php4/ext/pgsql/pgsql.c:1.272 php4/ext/pgsql/pgsql.c:1.273 --- php4/ext/pgsql/pgsql.c:1.272 Fri May 30 11:07:01 2003 +++ php4/ext/pgsql/pgsql.c Fri May 30 11:42:46 2003 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.272 2003/05/30 15:07:01 helly Exp $ */ +/* $Id: pgsql.c,v 1.273 2003/05/30 15:42:46 helly Exp $ */ #include <stdlib.h> @@ -264,15 +264,21 @@ static void _php_pgsql_notice_handler(void *resource_id, const char *message) { php_pgsql_notice *notice; + int i; TSRMLS_FETCH(); if (! PGG(ignore_notices)) { + notice = (php_pgsql_notice *)emalloc(sizeof(php_pgsql_notice)); + i = strlen(message)-1; + while (i && (message[i] == '\r' || message[i] == '\n')) { + i--; + } + i++; + notice->message = estrndup(message, i); + notice->len = i; if (PGG(log_notices)) { - php_log_err((char *) message TSRMLS_CC); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s", notice->message); } - notice = (php_pgsql_notice *)emalloc(sizeof(php_pgsql_notice)); - notice->len = strlen(message); - notice->message = estrndup(message, notice->len); zend_hash_index_update(&PGG(notices), *(int *)resource_id, (void **)¬ice, sizeof(php_pgsql_notice *), NULL); } } Index: php4/ext/pgsql/tests/09notice.phpt diff -u php4/ext/pgsql/tests/09notice.phpt:1.4 php4/ext/pgsql/tests/09notice.phpt:1.5 --- php4/ext/pgsql/tests/09notice.phpt:1.4 Fri May 30 11:07:02 2003 +++ php4/ext/pgsql/tests/09notice.phpt Fri May 30 11:42:46 2003 @@ -18,12 +18,11 @@ echo "Cannot find notice message in hash\n"; var_dump($msg); } -echo $msg; +echo $msg."\n"; echo "pg_last_notice() is Ok\n"; ?> ---EXPECT-- -NOTICE: BEGIN: already a transaction in progress - +--EXPECTF-- +Notice: pg_query(): NOTICE: BEGIN: already a transaction in progress in %s on line %d NOTICE: BEGIN: already a transaction in progress pg_last_notice() is Ok
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php