helly Fri May 30 15:12:26 2003 EDT Modified files: /php4/ext/pgsql pgsql.c Log: Better fix for default connection handling. # Problems noticed by Jay with the help of Sascha's nice little script. Index: php4/ext/pgsql/pgsql.c diff -u php4/ext/pgsql/pgsql.c:1.274 php4/ext/pgsql/pgsql.c:1.275 --- php4/ext/pgsql/pgsql.c:1.274 Fri May 30 12:51:00 2003 +++ php4/ext/pgsql/pgsql.c Fri May 30 15:12:26 2003 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.274 2003/05/30 16:51:00 helly Exp $ */ +/* $Id: pgsql.c,v 1.275 2003/05/30 19:12:26 helly Exp $ */ #include <stdlib.h> @@ -726,7 +726,10 @@ WRONG_PARAM_COUNT; break; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); if (id==-1) { /* explicit resource number */ @@ -773,7 +776,10 @@ WRONG_PARAM_COUNT; break; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); switch(entry_type) { @@ -912,7 +918,10 @@ WRONG_PARAM_COUNT; break; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); convert_to_string_ex(query); @@ -1593,7 +1602,7 @@ Enable tracing a PostgreSQL connection */ PHP_FUNCTION(pg_trace) { - zval **z_filename, **z_mode, **z_pgsql_link = NULL; + zval **z_filename, **z_mode, **pgsql_link = NULL; int id = -1; PGconn *pgsql; char *mode = "w"; @@ -1617,7 +1626,7 @@ mode = Z_STRVAL_PP(z_mode); break; case 3: - if (zend_get_parameters_ex(3, &z_filename, &z_mode, &z_pgsql_link)==FAILURE) { + if (zend_get_parameters_ex(3, &z_filename, &z_mode, &pgsql_link)==FAILURE) { RETURN_FALSE; } convert_to_string_ex(z_mode); @@ -1627,8 +1636,11 @@ ZEND_WRONG_PARAM_COUNT(); break; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } - ZEND_FETCH_RESOURCE2(pgsql, PGconn *, z_pgsql_link, id, "PostgreSQL link", le_link, le_plink); + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); convert_to_string_ex(z_filename); stream = php_stream_open_wrapper(Z_STRVAL_PP(z_filename), mode, ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL); @@ -1669,6 +1681,9 @@ ZEND_WRONG_PARAM_COUNT(); break; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); PQuntrace(pgsql); @@ -1699,7 +1714,10 @@ WRONG_PARAM_COUNT; break; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); /* NOTE: Archive modes not supported until I get some more data. Don't think anybody's @@ -1774,7 +1792,10 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Requires 1 or 2 arguments."); RETURN_FALSE; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); if (lo_unlink(pgsql, oid) == -1) { @@ -1843,6 +1864,9 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Requires 1 or 2 arguments."); RETURN_FALSE; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); @@ -2080,6 +2104,10 @@ RETURN_FALSE; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); oid = lo_import(pgsql, file_in); @@ -2174,6 +2202,10 @@ RETURN_FALSE; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); if (lo_export(pgsql, oid, file_out)) { @@ -2256,7 +2288,10 @@ WRONG_PARAM_COUNT; break; } - + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); convert_to_string_ex(encoding); @@ -2288,6 +2323,9 @@ WRONG_PARAM_COUNT; break; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); @@ -2332,6 +2370,9 @@ WRONG_PARAM_COUNT; break; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); @@ -2372,6 +2413,9 @@ WRONG_PARAM_COUNT; break; } + if (pgsql_link == NULL && id == -1) { + RETURN_FALSE; + } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php