cvs: php4 /ext/interbase interbase.c

From: Date: Tue, 19 Mar 2002 15:29:18 +0000
Subject: cvs: php4 /ext/interbase interbase.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-10422@lists.php.net to get a copy of this message
daniela Tue Mar 19 10:29:18 2002 EDT Modified files: /php4/ext/interbase interbase.c Log: fixed floating number incorrectly rendered (as mentioned by giancarlo@niccolai.ws in BUG #14755) Index: php4/ext/interbase/interbase.c diff -u php4/ext/interbase/interbase.c:1.80 php4/ext/interbase/interbase.c:1.81 --- php4/ext/interbase/interbase.c:1.80 Sat Mar 16 13:43:41 2002 +++ php4/ext/interbase/interbase.c Tue Mar 19 10:29:17 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interbase.c,v 1.80 2002/03/16 18:43:41 wez Exp $ */ +/* $Id: interbase.c,v 1.81 2002/03/19 15:29:17 daniela Exp $ */ /* TODO: Arrays, roles? @@ -595,7 +595,7 @@ php_info_print_table_start(); php_info_print_table_row(2, "Interbase Support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.80 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.81 $"); #ifdef COMPILE_DL_INTERBASE php_info_print_table_row(2, "Dynamic Module", "yes"); #endif @@ -1787,13 +1787,14 @@ val->type = IS_STRING; if (scale) { - int i, len; - char dt[20]; + int j, f = 1; double number = (double) ((ISC_INT64) (*((ISC_INT64 *)data))); - - number /= - 10 * scale; + char dt[20]; + for (j = 0; j < -scale; j++) { + f *= 10; + } sprintf(dt, "%%0.%df", -scale); - val->value.str.len = sprintf (string_data, dt, number); + val->value.str.len = sprintf (string_data, dt, number/f ); } else { val->value.str.len = sprintf (string_data, "%Ld", (ISC_INT64) (*((ISC_INT64 *)data)));

« previous php.cvs (#10422) next »