YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense alongwiththisprogram;ifnot,writetotheFreeSoftware
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
memset(errors_per_range, 0, sizeof(errors_per_range)); /* Calculate nr of messages per range. */ for (size_t i= 0; i < array_elements(english_msgs); i++)
{
uint id= english_msgs[i].id;
// We rely on the fact the array is sorted by id.
DBUG_ASSERT(i == 0 || english_msgs[i-1].id < id);
original_error_messages[0]= errmsgs; for (uint i= 1; i < MAX_ERROR_RANGES; i++)
{
original_error_messages[i]=
original_error_messages[i-1] + errors_per_range[i-1];
}
for (uint i= 0; i < array_elements(english_msgs); i++)
{
uint id= english_msgs[i].id;
original_error_messages[id/ERRORS_PER_RANGE-1][id%ERRORS_PER_RANGE]=
english_msgs[i].fmt;
}
}
/* Register messages for use with my_error(). */ for (uint i=0 ; i < MAX_ERROR_RANGES ; i++)
{ if (errors_per_range[i])
{ if (my_error_register(get_server_errmsgs, (i+1)*ERRORS_PER_RANGE,
(i+1)*ERRORS_PER_RANGE +
errors_per_range[i]-1))
{
my_free(original_error_messages);
original_error_messages= 0;
DBUG_RETURN(TRUE);
}
}
}
DEFAULT_ERRMSGS= original_error_messages;
init_myfunc_errs(); /* Init myfunc messages */
DBUG_RETURN(error);
}
void free_error_messages()
{ /* We don't need to free errmsg as it's done in cleanup_errmsg */ for (uint i= 0 ; i < MAX_ERROR_RANGES ; i++)
{ if (errors_per_range[i])
{
my_error_unregister((i+1)*ERRORS_PER_RANGE,
(i+1)*ERRORS_PER_RANGE +
errors_per_range[i]-1);
errors_per_range[i]= 0;
}
}
}
if (unlikely(ret->max_error < error_messages ||
ret->sections != MAX_ERROR_RANGES))
{
sql_print_error("\
Error message file '%s' had only %d error messages, but it should contain at least %d error messages.\nCheck that the above file is the right version forthis program!",
name,ret->errors,error_messages);
(void) mysql_file_close(file, MYF(MY_WME));
DBUG_RETURN(FERR);
}
DBUG_RETURN(file);
err:
sql_print_error((error_pos == 2) ? "Incompatible header in messagefile '%s'. Probably from " "another version of MariaDB" :
((error_pos == 1) ? "Can't read from messagefile '%s'" : "Can't find messagefile '%s'"), name); if (file != FERR)
(void) mysql_file_close(file, MYF(MY_WME));
DBUG_RETURN(FERR);
}
pos= buff; /* read in sections */ for (i= 0, offset= 0; i < msg_file.sections ; i++)
{
(*data)[i]= point + offset;
errors_per_range[i]= range_size= uint2korr(pos);
offset+= range_size;
pos+= 2;
}
/* Calculate pointers to text data */ for (i=0, offset=0 ; i < msg_file.errors ; i++)
{
point[i]= (char*) buff+offset;
offset+=uint2korr(pos);
pos+=2;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.