Commit 395a1809 authored by tim@threads.polyesthetic.msg's avatar tim@threads.polyesthetic.msg
Browse files

Show charsets dir in error message, instead of just "path: default".

parent 4bdf3ca9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@ extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
extern my_bool set_default_charset_by_name(const char *cs_name, myf flags);
extern void free_charsets(void);
extern char *list_charsets(myf want_flags); /* my_free() this string... */
extern char *get_charsets_dir(char *buf);


/* statistics */
+12 −4
Original line number Diff line number Diff line
@@ -1394,10 +1394,18 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
  if (!mysql->charset)
  {
    net->last_errno=CR_CANT_READ_CHARSET;
    if (mysql->options.charset_dir)
      sprintf(net->last_error,ER(net->last_errno),
              charset_name ? charset_name : "unknown",
              mysql->options.charset_dir);
    else
    {
      char cs_dir_name[FN_REFLEN];
      get_charsets_dir(cs_dir_name);
      sprintf(net->last_error,ER(net->last_errno),
              charset_name ? charset_name : "unknown",
	    mysql->options.charset_dir ? mysql->options.charset_dir :
	    "default");
              cs_dir_name);
    }
    goto error;
  }

+1 −1
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ static my_bool get_word(struct simpleconfig_buf_st *fb, char *buf)
}


static char *get_charsets_dir(char *buf)
char *get_charsets_dir(char *buf)
{
  const char *sharedir = SHAREDIR;
  DBUG_ENTER("get_charsets_dir");