@@ -4340,11 +4340,23 @@ static int init_common_variables()
4340
4340
4341
4341
if (get_options (&remaining_argc, &remaining_argv))
4342
4342
return 1 ;
4343
- set_server_version ();
4343
+ if (IS_SYSVAR_AUTOSIZE (&server_version_ptr))
4344
+ set_server_version (server_version, sizeof (server_version));
4344
4345
4345
4346
if (!opt_abort)
4346
- sql_print_information (" %s (mysqld %s) starting as process %lu ..." ,
4347
- my_progname, server_version, (ulong) getpid ());
4347
+ {
4348
+ if (IS_SYSVAR_AUTOSIZE (&server_version_ptr))
4349
+ sql_print_information (" %s (mysqld %s) starting as process %lu ..." ,
4350
+ my_progname, server_version, (ulong) getpid ());
4351
+ else
4352
+ {
4353
+ char real_server_version[SERVER_VERSION_LENGTH];
4354
+ set_server_version (real_server_version, sizeof (real_server_version));
4355
+ sql_print_information (" %s (mysqld %s as %s) starting as process %lu ..." ,
4356
+ my_progname, real_server_version, server_version,
4357
+ (ulong) getpid ());
4358
+ }
4359
+ }
4348
4360
4349
4361
#ifndef EMBEDDED_LIBRARY
4350
4362
if (opt_abort && !opt_verbose)
@@ -8571,7 +8583,8 @@ static bool add_many_options(DYNAMIC_ARRAY *options, my_option *list,
8571
8583
#ifndef EMBEDDED_LIBRARY
8572
8584
static void print_version (void )
8573
8585
{
8574
- set_server_version ();
8586
+ if (IS_SYSVAR_AUTOSIZE (&server_version_ptr))
8587
+ set_server_version (server_version, sizeof (server_version));
8575
8588
8576
8589
printf (" %s Ver %s for %s on %s (%s)\n " ,my_progname,
8577
8590
server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT);
@@ -9680,24 +9693,17 @@ static int get_options(int *argc_ptr, char ***argv_ptr)
9680
9693
(MYSQL_SERVER_SUFFIX is set by the compilation environment)
9681
9694
*/
9682
9695
9683
- void set_server_version (void )
9684
- {
9685
- if (!IS_SYSVAR_AUTOSIZE (&server_version_ptr))
9686
- return ;
9687
- char *version_end= server_version+sizeof (server_version)-1 ;
9688
- char *end= strxnmov (server_version, sizeof (server_version)-1 ,
9689
- MYSQL_SERVER_VERSION,
9690
- MYSQL_SERVER_SUFFIX_STR, NullS);
9691
- #ifdef EMBEDDED_LIBRARY
9692
- end= strnmov (end, " -embedded" , (version_end-end));
9693
- #endif
9694
- #ifndef DBUG_OFF
9695
- if (!strstr (MYSQL_SERVER_SUFFIX_STR, " -debug" ))
9696
- end= strnmov (end, " -debug" , (version_end-end));
9697
- #endif
9698
- if (opt_log || global_system_variables.sql_log_slow || opt_bin_log)
9699
- strnmov (end, " -log" , (version_end-end)); // This may slow down system
9700
- *end= 0 ;
9696
+ void set_server_version (char *buf, size_t size)
9697
+ {
9698
+ bool is_log= opt_log || global_system_variables.sql_log_slow || opt_bin_log;
9699
+ bool is_debug= IF_DBUG (!strstr (MYSQL_SERVER_SUFFIX_STR, " -debug" ), 0 );
9700
+ strxnmov (buf, size - 1 ,
9701
+ MYSQL_SERVER_VERSION,
9702
+ MYSQL_SERVER_SUFFIX_STR,
9703
+ IF_EMBEDDED (" -embedded" , " " ),
9704
+ is_debug ? " -debug" : " " ,
9705
+ is_log ? " -log" : " " ,
9706
+ NullS);
9701
9707
}
9702
9708
9703
9709
0 commit comments