1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-08 14:02:17 +03:00

Merge branch '3.1' into 3.3

This commit is contained in:
Georg Richter
2023-01-15 14:27:41 +01:00
9 changed files with 109 additions and 38 deletions

View File

@@ -91,18 +91,26 @@ void stmt_set_error(MYSQL_STMT *stmt,
...)
{
va_list ap;
const char *error= NULL;
if (error_nr >= CR_MIN_ERROR && error_nr <= CR_MYSQL_LAST_ERROR)
error= ER(error_nr);
else if (error_nr >= CER_MIN_ERROR && error_nr <= CR_MARIADB_LAST_ERROR)
error= CER(error_nr);
const char *errmsg;
stmt->last_errno= error_nr;
ma_strmake(stmt->sqlstate, sqlstate, SQLSTATE_LENGTH);
if (!format)
{
if (IS_MYSQL_ERROR(error_nr) || IS_MARIADB_ERROR(error_nr))
errmsg= ER(error_nr);
else {
snprintf(stmt->last_error, MYSQL_ERRMSG_SIZE - 1,
ER_UNKNOWN_ERROR_CODE, error_nr);
return;
}
}
va_start(ap, format);
vsnprintf(stmt->last_error, MYSQL_ERRMSG_SIZE,
format ? format : error ? error : "", ap);
vsnprintf(stmt->last_error, MYSQL_ERRMSG_SIZE - 1,
format ? format : errmsg, ap);
va_end(ap);
return;
}