|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
Patchesingres.c (last revision 2012-01-27 14:12 UTC by V dot Bulov at VAZ dot ru)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
[2020-12-08 13:04 UTC] cmb@php.net
-Status: Open
+Status: Suspended
[2020-12-08 13:04 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 11:00:01 2025 UTC |
Description: ------------ Sorry my english please! After change on my computer from fc15.i686 to fc16.x86_64 i have problem with int8 on php program I found in ingres.c case 4: value_long = (long) *((II_INT4 *) columnData->dv_value); break; #if defined(IIAPI_VERSION_4) case 8: /* PHP does not support BIGINT/INTEGER8 so we have to return */ /* values greater/smaller than the max/min size of a LONG value as a string */ /* Anyone wanting to manipulate this value can use PECL big_int */ if ((*((ingres_int64 *) columnData->dv_value) > LONG_MAX ) || (*((ingres_int64 *) columnData->dv_value) < LONG_MIN )) { value_long_long = *((ingres_int64 *) columnData->dv_value); sprintf(value_long_long_str, "%lld\0", value_long_long); value_long_long_str_len = strlen(value_long_long_str); } else { // value_long = (long) *((II_INT4 *) columnData->dv_value); value_long = (long) *((II_INT8 *) columnData->dv_value); } break; #endif default: after change II_INT4 on II_INT8 in my php program all work corectly Test script: --------------- before stdClass Object ( [acc_key] => -164999 ) after stdClass Object ( [acc_key]=>1044001000020000 ) Expected result: ---------------- 1044001000020001 Actual result: -------------- 1044001000020001