diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2003-02-04 18:34:00 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2003-02-04 18:34:00 +0000 |
commit | a89a651a46b87f39e5e966db0561cd4e6810f836 (patch) | |
tree | b0ab5ed4f1ddb0222dac3c754449e5627855c1a5 | |
parent | e1179a4d40c9ddd99eda788ac0cf9c8a3dda84c1 (diff) | |
download | php-git-a89a651a46b87f39e5e966db0561cd4e6810f836.tar.gz |
Made the row parameter in pg_result_seek() non-optional, the current
implementation would result in random behavior if the 2nd argument is not
passed.
Fixed bug #22042 (pg_result_seek() would never seek to the 1st row in the
result due to always seeking to row next to the one requested).
Removed dead code from pg_result_seek().
-rw-r--r-- | ext/pgsql/pgsql.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index e916542f23..7b85f7df52 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -1437,23 +1437,18 @@ PHP_FUNCTION(pg_result_seek) int row; pgsql_result_handle *pg_result; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", - &result, &row) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &result, &row) == FAILURE) { return; } ZEND_FETCH_RESOURCE(pg_result, pgsql_result_handle *, &result, -1, "PostgreSQL result", le_result); - /* Let see if we are better to have another function for this */ - /* if offset is omitted, return current position */ -/* if (ZEND_NUM_ARGS() == 1) */ -/* RETURN_LONG(pg_result->row); */ - - if (row < 0 || row >= PQntuples(pg_result->result)) + if (row < 0 || row >= PQntuples(pg_result->result)) { RETURN_FALSE; + } /* seek to offset */ - pg_result->row = row; + pg_result->row = row - 1; RETURN_TRUE; } /* }}} */ |