summaryrefslogtreecommitdiff
path: root/client/mysqldump.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysqldump.c')
-rw-r--r--client/mysqldump.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c
index 98de9e0b069..d511dc3bbde 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -106,7 +106,14 @@ FILE *md_result_file;
static char *shared_memory_base_name=0;
#endif
static uint opt_protocol= 0;
-static char *default_charset= (char*) MYSQL_UNIVERSAL_CLIENT_CHARSET;
+/*
+ Constant for detection of default value of default_charset.
+ If default_charset is equal to mysql_universal_client_charset, then
+ it is the default value which assigned at the very beginning of main().
+*/
+static const char *mysql_universal_client_charset=
+ MYSQL_UNIVERSAL_CLIENT_CHARSET;
+static char *default_charset;
static CHARSET_INFO *charset_info= &my_charset_latin1;
const char *default_dbug_option="d:t:o,/tmp/mysqldump.trace";
@@ -678,7 +685,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
Set charset to the default compiled value if it hasn't
been reset yet by --default-character-set=xxx.
*/
- if (default_charset == (char*) MYSQL_UNIVERSAL_CLIENT_CHARSET)
+ if (default_charset == mysql_universal_client_charset)
default_charset= (char*) MYSQL_DEFAULT_CHARSET_NAME;
break;
}
@@ -2403,6 +2410,7 @@ cleanup:
int main(int argc, char **argv)
{
compatible_mode_normal_str[0]= 0;
+ default_charset= (char *)mysql_universal_client_charset;
MY_INIT(argv[0]);
if (get_options(&argc, &argv))