summaryrefslogtreecommitdiff
path: root/libmysql/libmysql.c
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2004-10-15 03:54:40 +0400
committerunknown <konstantin@mysql.com>2004-10-15 03:54:40 +0400
commit77d7398e0b0b6461852658fcf9fb98b6a444ae94 (patch)
tree3b80ce2b67410619afe1eea0d9220adedf361e65 /libmysql/libmysql.c
parente8bc4e16e079377de4f6f513ddfe017a3d095926 (diff)
downloadmariadb-git-77d7398e0b0b6461852658fcf9fb98b6a444ae94.tar.gz
Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)":
let's not assume that char is signed (its signedness is not defined). The server was also affected by the wrong typedef. include/my_global.h: Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)": let's not assume that char is signed (its signedness is not defined). libmysql/libmysql.c: Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)": let's not assume that char is signed (its signedness is not defined).
Diffstat (limited to 'libmysql/libmysql.c')
-rw-r--r--libmysql/libmysql.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index b8e53cf92bb..ef926e2f93d 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -3611,9 +3611,10 @@ static void fetch_result_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field,
switch (field_type) {
case MYSQL_TYPE_TINY:
{
- char value= (char) **row;
- longlong data= field_is_unsigned ? (longlong) (unsigned char) value :
- (longlong) value;
+ uchar value= **row;
+ /* sic: we need to cast to 'signed char' as 'char' may be unsigned */
+ longlong data= field_is_unsigned ? (longlong) value :
+ (longlong) (signed char) value;
fetch_long_with_conversion(param, field, data);
*row+= 1;
break;