Browse Source

Fix #50444: PDO-ODBC changes for 64-bit

This bug is also referenced in
[#61777](https://bugs.php.net/bug.php?id=61777) and is still present in
the latest stable release of the 5.5 branch. I see two tickets exist for
this problem already, and I'm just submitting these changes via github
as a reminder that this is a serious problem for anyone using PDO_ODBC
on the x64 builds.
pull/603/head
Andrew Kehrig 13 years ago
parent
commit
85c06f17f3
  1. 4
      ext/pdo_odbc/odbc_stmt.c
  2. 2
      ext/pdo_odbc/php_pdo_odbc_int.h

4
ext/pdo_odbc/odbc_stmt.c

@ -279,7 +279,7 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p
pdo_odbc_stmt *S = (pdo_odbc_stmt*)stmt->driver_data;
RETCODE rc;
SWORD sqltype = 0, ctype = 0, scale = 0, nullable = 0;
UDWORD precision = 0;
SQLULEN precision = 0;
pdo_odbc_param *P;
/* we're only interested in parameters for prepared SQL right now */
@ -551,7 +551,7 @@ static int odbc_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC)
struct pdo_column_data *col = &stmt->columns[colno];
RETCODE rc;
SWORD colnamelen;
SDWORD colsize;
SQLULEN colsize;
SQLLEN displaysize;
rc = SQLDescribeCol(S->stmt, colno+1, S->cols[colno].colname,

2
ext/pdo_odbc/php_pdo_odbc_int.h

@ -157,7 +157,7 @@ typedef struct {
} pdo_odbc_stmt;
typedef struct {
SQLINTEGER len;
SQLLEN len;
SQLSMALLINT paramtype;
char *outbuf;
unsigned is_unicode:1;

Loading…
Cancel
Save