summaryrefslogtreecommitdiff
path: root/ext/pdo_dblib/dblib_stmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo_dblib/dblib_stmt.c')
-rw-r--r--ext/pdo_dblib/dblib_stmt.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/ext/pdo_dblib/dblib_stmt.c b/ext/pdo_dblib/dblib_stmt.c
index 8ec4f782fd..311d856d55 100644
--- a/ext/pdo_dblib/dblib_stmt.c
+++ b/ext/pdo_dblib/dblib_stmt.c
@@ -266,6 +266,11 @@ static int pdo_dblib_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr,
if (data_len != 0 || data != NULL) {
if (stmt->dbh->stringify) {
switch (coltype) {
+ case SQLDECIMAL:
+ case SQLNUMERIC:
+ case SQLMONEY:
+ case SQLMONEY4:
+ case SQLMONEYN:
case SQLFLT4:
case SQLFLT8:
case SQLINT4:
@@ -361,18 +366,16 @@ static int pdo_dblib_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr,
break;
}
+ case SQLDECIMAL:
+ case SQLNUMERIC:
case SQLMONEY:
case SQLMONEY4:
case SQLMONEYN: {
- DBFLT8 money_value;
- dbconvert(NULL, coltype, data, 8, SQLFLT8, (LPBYTE)&money_value, -1);
+ DBFLT8 float_value;
+ dbconvert(NULL, coltype, data, 8, SQLFLT8, (LPBYTE)&float_value, -1);
zv = emalloc(sizeof(zval));
- ZVAL_DOUBLE(zv, money_value);
-
- if (stmt->dbh->stringify) {
- convert_to_string(zv);
- }
+ ZVAL_DOUBLE(zv, float_value);
break;
}