diff options
author | Matteo Beccati <mbeccati@php.net> | 2009-09-03 22:53:25 +0000 |
---|---|---|
committer | Matteo Beccati <mbeccati@php.net> | 2009-09-03 22:53:25 +0000 |
commit | 2acedb40e6cb2b3703913b89813824fd6657547d (patch) | |
tree | 6f4951394a93600100880a83600d4bfaa9e5140d /ext/pdo_pgsql/pgsql_statement.c | |
parent | d9eeb2e6e659486ab9d2d15b720714b1ef5503dd (diff) | |
download | php-git-2acedb40e6cb2b3703913b89813824fd6657547d.tar.gz |
MFH
- Fixed bug #48060 (pdo_pgsql - large objects are returned as empty)
# Backported from 5.3.0, per gripe from Konstantin Ryabitsev
# Permission granted by Ilia
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index a891069881..ce53d84922 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -599,8 +599,14 @@ static int pgsql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsigned return 0; } else { *ptr = php_pdo_pgsql_unescape_bytea(*ptr, &tmp_len); - *len = tmp_len; - *caller_frees = 1; + if (!tmp_len) { + /* Empty string, return as empty stream */ + *ptr = (char *)php_stream_memory_open(TEMP_STREAM_READONLY, "", 0); + *len = 0; + } else { + *len = tmp_len; + *caller_frees = 1; + } } break; case PDO_PARAM_NULL: |