summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAndrew Kehrig <kehrigan@gmail.com>2014-02-24 12:01:58 -0500
committerStanislav Malyshev <stas@php.net>2014-05-26 22:17:29 -0700
commit91e7b3b84f08a2fabed8ed2196a827e481a4b79c (patch)
tree7be4620058f18692694b9f02394ca63c3b752805 /ext
parent076c25bfec126a431de574e4bad8df053ba50374 (diff)
downloadphp-git-91e7b3b84f08a2fabed8ed2196a827e481a4b79c.tar.gz
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.
Diffstat (limited to 'ext')
-rw-r--r--ext/pdo_odbc/odbc_stmt.c4
-rw-r--r--ext/pdo_odbc/php_pdo_odbc_int.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c
index 8b0ccf34e6..1d275cd654 100644
--- a/ext/pdo_odbc/odbc_stmt.c
+++ b/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,
diff --git a/ext/pdo_odbc/php_pdo_odbc_int.h b/ext/pdo_odbc/php_pdo_odbc_int.h
index 87b2f9100d..5e42951f86 100644
--- a/ext/pdo_odbc/php_pdo_odbc_int.h
+++ b/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;