summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Heijl <danny@php.net>2000-08-05 13:14:44 +0000
committerDanny Heijl <danny@php.net>2000-08-05 13:14:44 +0000
commitd140a799f7678cb6fbcfcbd71e99bb3055735776 (patch)
treee69c6d1fa90c568aeafdb19f374aaf8d6aadfec1
parentdb0872123bdef984596a6e8bbff62ffcaf3d7129 (diff)
downloadphp-git-d140a799f7678cb6fbcfcbd71e99bb3055735776.tar.gz
- Fix INT8 returning garbage because ifx_int8toasc does not null_terminate
the returned string. (danny)
-rw-r--r--ext/informix/ifx.ec8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/informix/ifx.ec b/ext/informix/ifx.ec
index f07f2480d4..255af0c8e0 100644
--- a/ext/informix/ifx.ec
+++ b/ext/informix/ifx.ec
@@ -2110,7 +2110,11 @@ $ifdef HAVE_IFX_IUS;
case SQLSERIAL8 :
case SQLINT8 :
EXEC SQL GET DESCRIPTOR :descrpid VALUE :i :int8_var = DATA;
+ memset(string_data, ' ', sizeof(string_data));
ifx_int8toasc(&int8_var,string_data,200);
+ p = string_data; /* rtrim string_data */
+ while ((*p != ' ') && (p < &string_data[sizeof(string_data) - 1])) ++p;
+ *p = 0;
add_assoc_string(return_value, fieldname, string_data, DUP);
break;
case SQLLVARCHAR:
@@ -2485,7 +2489,11 @@ $ifdef HAVE_IFX_IUS;
case SQLSERIAL8:
case SQLINT8 :
EXEC SQL GET DESCRIPTOR :descrpid VALUE :i :int8_var = DATA;
+ memset(string_data, ' ', sizeof(string_data));
ifx_int8toasc(&int8_var,string_data,200);
+ p = string_data; /* rtrim string_data */
+ while ((*p != ' ') && (p < &string_data[sizeof(string_data) - 1])) ++p;
+ *p = 0;
php_printf("<td>%s</td>", string_data);
break;
case SQLLVARCHAR: