summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/libmysql.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index bbd781172e2..f0f2d60dcad 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -3873,15 +3873,19 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field,
sprintf(buff, "%.*f", (int) field->decimals, value);
end= strend(buff);
}
- uint length= (uint) (end-buff);
- if (field->flags & ZEROFILL_FLAG && length < field->length &&
- field->length < MAX_DOUBLE_STRING_REP_LENGTH-1)
+
{
- bmove_upp((char*) buff+field->length,buff+length, length);
- bfill((char*) buff, field->length - length,'0');
- length= field->length;
+ size_t length= end - buff;
+ if (field->flags & ZEROFILL_FLAG && length < field->length &&
+ field->length < MAX_DOUBLE_STRING_REP_LENGTH - 1)
+ {
+ bmove_upp((char*) buff + field->length, buff + length, length);
+ bfill((char*) buff, field->length - length, '0');
+ length= field->length;
+ }
+ fetch_string_with_conversion(param, buff, length);
}
- fetch_string_with_conversion(param, buff, length);
+
break;
}
}