Commit 75447106 authored by Davi Arnaut's avatar Davi Arnaut

Bug#45288: pb2 returns a lot of compilation warnings on linux

Fix warnings related to the use of the deprecated gets() function
and passing NULL to non-pointer argument of the sys_var constructor.

plugin/auth/dialog.c:
  Do not use the deprecated gets() function.
sql/sys_vars.h:
  Do not pass NULL to a non-pointer argument of the sys_var constructor.
parent 28be8f91
/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. /* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; version 2 of the published by the Free Software Foundation; version 2 of the
License. License.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
...@@ -181,7 +181,7 @@ mysql_declare_plugin_end; ...@@ -181,7 +181,7 @@ mysql_declare_plugin_end;
To support all this variety, the dialog plugin has a callback function To support all this variety, the dialog plugin has a callback function
"authentication_dialog_ask". If the client has a function of this name "authentication_dialog_ask". If the client has a function of this name
dialog plugin will use it for communication with the user. Otherwise dialog plugin will use it for communication with the user. Otherwise
a default gets() based implementation will be used. a default fgets() based implementation will be used.
*/ */
/** /**
...@@ -208,12 +208,15 @@ static mysql_authentication_dialog_ask_t ask; ...@@ -208,12 +208,15 @@ static mysql_authentication_dialog_ask_t ask;
static char *builtin_ask(MYSQL *mysql __attribute__((unused)), static char *builtin_ask(MYSQL *mysql __attribute__((unused)),
int type __attribute__((unused)), int type __attribute__((unused)),
const char *prompt, const char *prompt,
char *buf, int buf_len __attribute__((unused))) char *buf, int buf_len)
{ {
char *ptr;
fputs(prompt, stdout); fputs(prompt, stdout);
fputc(' ', stdout); fputc(' ', stdout);
if (gets(buf) == 0) if (fgets(buf, buf_len, stdin) == NULL)
return 0; return NULL;
if ((ptr= strchr(buf, '\n')))
*ptr= 0;
return buf; return buf;
} }
......
...@@ -458,12 +458,10 @@ class Sys_var_proxy_user: public sys_var ...@@ -458,12 +458,10 @@ class Sys_var_proxy_user: public sys_var
public: public:
Sys_var_proxy_user(const char *name_arg, Sys_var_proxy_user(const char *name_arg,
const char *comment, enum charset_enum is_os_charset_arg) const char *comment, enum charset_enum is_os_charset_arg)
: sys_var(&all_sys_vars, name_arg, comment, : sys_var(&all_sys_vars, name_arg, comment,
sys_var::READONLY+sys_var::ONLY_SESSION, 0, -1, sys_var::READONLY+sys_var::ONLY_SESSION, 0, -1,
NO_ARG, SHOW_CHAR, (intptr)NULL, NO_ARG, SHOW_CHAR, 0, NULL, VARIABLE_NOT_IN_BINLOG,
0, VARIABLE_NOT_IN_BINLOG, NULL, NULL, 0, NULL, PARSE_NORMAL)
0, 0,
0, 0, PARSE_NORMAL)
{ {
is_os_charset= is_os_charset_arg == IN_FS_CHARSET; is_os_charset= is_os_charset_arg == IN_FS_CHARSET;
option.var_type= GET_STR; option.var_type= GET_STR;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment