Commit 40e44f0e authored by unknown's avatar unknown
Browse files

Two implementations of "get_err_code_from_name", one use if mysqld_ername.h is...

Two implementations of "get_err_code_from_name", one use if mysqld_ername.h is available and oe if it's not
Declare "to_ptr" first in block 


parent 64329b16
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -2472,17 +2472,13 @@ static st_error global_error_names[] =
#include <mysqld_ername.h>
  { 0, 0 }
};
#define HAVE_MYSQLD_ERNAME
#endif


uint get_errcode_from_name(char *error_name, char *error_end)
{
  DBUG_ENTER("get_errcode_from_name");
#ifdef HAVE_MYSQLD_ERNAME

  /* SQL error as string */
  st_error *e= global_error_names;

  DBUG_ENTER("get_errcode_from_name");
  DBUG_PRINT("enter", ("error_name: %s", error_name));

  /* Loop through the array of known error names */
@@ -2501,13 +2497,17 @@ uint get_errcode_from_name(char *error_name, char *error_end)
  }
  if (!e->name)
    die("Unknown SQL error name '%s'", error_name);
  DBUG_RETURN(0);
}
#else
  LINT_INIT(error_name);
  LINT_INIT(error_end);
uint get_errcode_from_name(char *error_name __attribute__((unused)),
                           char *error_end __attribute__((unused)))
{
  abort_not_in_this_version();
#endif
  DBUG_RETURN(0);;
  return 0; /* Never reached */
}
#endif



void do_get_errcodes(struct st_command *command)
@@ -2536,6 +2536,8 @@ void do_get_errcodes(struct st_command *command)

    if (*p == 'S')
    {
      char *to_ptr= to->code.sqlstate;

      /*
        SQLSTATE string
        - Must be SQLSTATE_LENGTH long
@@ -2546,7 +2548,6 @@ void do_get_errcodes(struct st_command *command)
        die("The sqlstate must be exactly %d chars long", SQLSTATE_LENGTH);

      /* Check sqlstate string validity */
      char *to_ptr= to->code.sqlstate;
      while (*p && p != end)
      {
        if (my_isdigit(charset_info, *p) || my_isupper(charset_info, *p))