summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/pgsql_statement.c
diff options
context:
space:
mode:
authorMatteo Beccati <mbeccati@php.net>2009-09-03 22:53:25 +0000
committerMatteo Beccati <mbeccati@php.net>2009-09-03 22:53:25 +0000
commit2acedb40e6cb2b3703913b89813824fd6657547d (patch)
tree6f4951394a93600100880a83600d4bfaa9e5140d /ext/pdo_pgsql/pgsql_statement.c
parentd9eeb2e6e659486ab9d2d15b720714b1ef5503dd (diff)
downloadphp-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.c10
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: