Skip to content

Commit 0d42265

Browse files
author
Igor Solodovnikov
committed
Merge from mysql-5.5
2 parents 48c678a + 9688cbc commit 0d42265

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

sql-common/client.c

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4637,17 +4637,27 @@ const char * STDCALL mysql_error(MYSQL *mysql)
46374637
46384638
RETURN
46394639
Signed number > 323000
4640+
Zero if there is no connection
46404641
*/
46414642

46424643
ulong STDCALL
46434644
mysql_get_server_version(MYSQL *mysql)
46444645
{
4645-
uint major, minor, version;
4646-
char *pos= mysql->server_version, *end_pos;
4647-
major= (uint) strtoul(pos, &end_pos, 10); pos=end_pos+1;
4648-
minor= (uint) strtoul(pos, &end_pos, 10); pos=end_pos+1;
4649-
version= (uint) strtoul(pos, &end_pos, 10);
4650-
return (ulong) major*10000L+(ulong) (minor*100+version);
4646+
ulong major= 0, minor= 0, version= 0;
4647+
4648+
if (mysql->server_version)
4649+
{
4650+
char *pos= mysql->server_version, *end_pos;
4651+
major= strtoul(pos, &end_pos, 10); pos=end_pos+1;
4652+
minor= strtoul(pos, &end_pos, 10); pos=end_pos+1;
4653+
version= strtoul(pos, &end_pos, 10);
4654+
}
4655+
else
4656+
{
4657+
set_mysql_error(mysql, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate);
4658+
}
4659+
4660+
return major*10000 + minor*100 + version;
46514661
}
46524662

46534663

0 commit comments

Comments
 (0)