Commit 59ad7263 authored by unknown's avatar unknown

A fix and a test case for Bug#16144 "mysql_stmt_attr_get type error":

use the right type in mysql_stmt_attr_get


libmysql/libmysql.c:
  Fix Bug#16144 "mysql_stmt_attr_get type error"
tests/mysql_client_test.c:
  A test case for Bug#16144
parent 8e3de130
......@@ -2733,7 +2733,7 @@ my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt,
{
switch (attr_type) {
case STMT_ATTR_UPDATE_MAX_LENGTH:
*(unsigned long *) value= stmt->update_max_length;
*(my_bool*) value= stmt->update_max_length;
break;
default:
return TRUE;
......
......@@ -11753,6 +11753,25 @@ static void test_bug12925()
}
/* Bug #16144: mysql_stmt_attr_get type error */
static void test_bug16144()
{
const my_bool flag_orig= (my_bool) 0xde;
my_bool flag= flag_orig;
MYSQL_STMT *stmt;
myheader("test_bug16144");
/* Check that attr_get returns correct data on little and big endian CPUs */
stmt= mysql_stmt_init(mysql);
mysql_stmt_attr_set(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, (const void*) &flag);
mysql_stmt_attr_get(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, (void*) &flag);
DIE_UNLESS(flag == flag_orig);
mysql_stmt_close(stmt);
}
/*
Read and parse arguments and MySQL options from my.cnf
*/
......@@ -11974,6 +11993,7 @@ static struct my_tests_st my_tests[]= {
{ "test_bug12001", test_bug12001 },
{ "test_bug11718", test_bug11718 },
{ "test_bug12925", test_bug12925 },
{ "test_bug16144", test_bug16144 },
{ 0, 0 }
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment