Task #42 — firebird backend: SQL_INTEGER datatype is not handled correctly on 64bit systems
Attached to Project — OpenDBX
Opened by Johann Steinwendtner (steinwej) - Thursday, 7 May 2020, 11:22am
Bug Report | Low | ||
Library | Normal | ||
Unconfirmed | 1.4.x | ||
No-one | Undecided | ||
Linux | ![]() |
||
I've been using openDBX for years on a 32bit Ubuntu server. On testing the sw on 64bit Ubuntu bionic I 'm having troubles to obtain correct values on SQL_INT datataypes. Please find attached patch: --- firebird_basic.c.old 2010-08-01 04:08:39.000000000 +0200 +++ firebird_basic.c 2020-05-07 11:06:33.900899348 +0200 @@ -540,7 +540,7 @@ firebird_priv_decimal( da->sqlvar[i].sqldata, len, -(da->sqlvar[i].sqlscale) ); break; case SQL_LONG: - len = snprintf( da->sqlvar[i].sqldata, firebird_priv_collength( da->sqlvar + i ), "%ld", *((long*) da->sqlvar[i].sqldata) ); + len = snprintf( da->sqlvar[i].sqldata, firebird_priv_collength( da->sqlvar + i ), "%ld", *((int32_t*) da->sqlvar[i].sqldata) ); firebird_priv_decimal( da->sqlvar[i].sqldata, len, -(da->sqlvar[i].sqlscale) ); break; case SQL_INT64: |
Comments (0) | Attachments (0) | Related Tasks (0/0) | Notifications (1) | Reminders (0) | History |