diff options
author | Xinchen Hui <laruence@php.net> | 2015-05-06 10:51:52 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-05-06 10:51:52 +0800 |
commit | 55d94a453243cafc2292920e9c91bd2bc551f2be (patch) | |
tree | c00d368a3c68c2e53167b8da8c6448cdb88801e7 /ext/pdo_pgsql/pgsql_statement.c | |
parent | 9b3a92a1cad96ff88a61493bf688bc0757933642 (diff) | |
parent | 63282d3321044681e880a997a6360d4b99a07d4f (diff) | |
download | php-git-55d94a453243cafc2292920e9c91bd2bc551f2be.tar.gz |
Merge branch 'master' of git.php.net:php-src
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 435781ecf1..60553b36ce 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -438,13 +438,14 @@ static int pgsql_stmt_describe(pdo_stmt_t *stmt, int colno) pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data; struct pdo_column_data *cols = stmt->columns; struct pdo_bound_param_data *param; + char *str; if (!S->result) { return 0; } - cols[colno].name = estrdup(PQfname(S->result, colno)); - cols[colno].namelen = strlen(cols[colno].name); + str = PQfname(S->result, colno); + cols[colno].name = zend_string_init(str, strlen(str), 0); cols[colno].maxlen = PQfsize(S->result, colno); cols[colno].precision = PQfmod(S->result, colno); S->cols[colno].pgsql_type = PQftype(S->result, colno); @@ -459,7 +460,7 @@ static int pgsql_stmt_describe(pdo_stmt_t *stmt, int colno) /* did the user bind the column as a LOB ? */ if (stmt->bound_columns && ( (param = zend_hash_index_find_ptr(stmt->bound_columns, colno)) != NULL || - (param = zend_hash_str_find_ptr(stmt->bound_columns, cols[colno].name, cols[colno].namelen)) != NULL)) { + (param = zend_hash_find_ptr(stmt->bound_columns, cols[colno].name)) != NULL)) { if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_LOB) { cols[colno].param_type = PDO_PARAM_LOB; |