Loading libmysql/libmysql.c +5 −4 Original line number Diff line number Diff line Loading @@ -3656,6 +3656,7 @@ static void fetch_long_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, } } #define MY_TRUNC(val) (val < 0 ? - floor(-val) : floor(val)) /* Convert double/float column to supplied buffer of any type. Loading Loading @@ -3688,7 +3689,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, *buffer= (uint8) value; else *buffer= (int8) value; *param->error= value != (param->is_unsigned ? (double) ((uint8) *buffer) : *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) ((uint8) *buffer) : (double) ((int8) *buffer)); break; case MYSQL_TYPE_SHORT: Loading @@ -3702,7 +3703,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, short data= (short) value; shortstore(buffer, data); } *param->error= value != (param->is_unsigned ? (double) (*(ushort*) buffer): *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) (*(ushort*) buffer): (double) (*(short*) buffer)); break; case MYSQL_TYPE_LONG: Loading @@ -3716,7 +3717,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, int32 data= (int32) value; longstore(buffer, data); } *param->error= value != (param->is_unsigned ? (double) (*(uint32*) buffer): *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) (*(uint32*) buffer): (double) (*(int32*) buffer)); break; case MYSQL_TYPE_LONGLONG: Loading @@ -3730,7 +3731,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, longlong data= (longlong) value; longlongstore(buffer, data); } *param->error= value != (param->is_unsigned ? *param->error= MY_TRUNC(value) != (param->is_unsigned ? ulonglong2double(*(ulonglong*) buffer) : (double) (*(longlong*) buffer)); break; Loading Loading
libmysql/libmysql.c +5 −4 Original line number Diff line number Diff line Loading @@ -3656,6 +3656,7 @@ static void fetch_long_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, } } #define MY_TRUNC(val) (val < 0 ? - floor(-val) : floor(val)) /* Convert double/float column to supplied buffer of any type. Loading Loading @@ -3688,7 +3689,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, *buffer= (uint8) value; else *buffer= (int8) value; *param->error= value != (param->is_unsigned ? (double) ((uint8) *buffer) : *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) ((uint8) *buffer) : (double) ((int8) *buffer)); break; case MYSQL_TYPE_SHORT: Loading @@ -3702,7 +3703,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, short data= (short) value; shortstore(buffer, data); } *param->error= value != (param->is_unsigned ? (double) (*(ushort*) buffer): *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) (*(ushort*) buffer): (double) (*(short*) buffer)); break; case MYSQL_TYPE_LONG: Loading @@ -3716,7 +3717,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, int32 data= (int32) value; longstore(buffer, data); } *param->error= value != (param->is_unsigned ? (double) (*(uint32*) buffer): *param->error= MY_TRUNC(value) != (param->is_unsigned ? (double) (*(uint32*) buffer): (double) (*(int32*) buffer)); break; case MYSQL_TYPE_LONGLONG: Loading @@ -3730,7 +3731,7 @@ static void fetch_float_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field, longlong data= (longlong) value; longlongstore(buffer, data); } *param->error= value != (param->is_unsigned ? *param->error= MY_TRUNC(value) != (param->is_unsigned ? ulonglong2double(*(ulonglong*) buffer) : (double) (*(longlong*) buffer)); break; Loading