[PATCH] Use getenv instead of gdb_environ on mi-cmd-env.c
Simon Marchi
simon.marchi@polymtl.ca
Sat Jun 17 08:03:00 GMT 2017
On 2017-06-17 00:12, Sergio Durigan Junior wrote:
> This is a spinoff of
> <https://sourceware.org/ml/gdb-patches/2017-06/msg00437.html>.
> mi-cmd-env.c is using the whole gdb_environ machinery in order to
> access just one variable, which can be easily replaced by a simple
> call to getenv. This patch does that, and doesn't cause regressions.
>
> gdb/ChangeLog:
> 2017-06-16 Sergio Durigan Junior <sergiodj@redhat.com>
>
> * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
> gdb_environ to access an environment variable.
> ---
> gdb/ChangeLog | 5 +++++
> gdb/mi/mi-cmd-env.c | 12 ++++--------
> 2 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index 9062067..f5bf474 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,8 @@
> +2017-06-16 Sergio Durigan Junior <sergiodj@redhat.com>
> +
> + * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
> + gdb_environ to access an environment variable.
> +
> 2017-06-16 Alan Hayward <alan.hayward@arm.com>
> Pedro Alves <palves@redhat.com>
> Yao Qi <yao.qi@linaro.org>
> diff --git a/gdb/mi/mi-cmd-env.c b/gdb/mi/mi-cmd-env.c
> index 4093178..97be139 100644
> --- a/gdb/mi/mi-cmd-env.c
> +++ b/gdb/mi/mi-cmd-env.c
> @@ -270,21 +270,17 @@ mi_cmd_inferior_tty_show (const char *command,
> char **argv, int argc)
> void
> _initialize_mi_cmd_env (void)
> {
> - struct gdb_environ *environment;
> const char *env;
>
> /* We want original execution path to reset to, if desired later.
> At this point, current inferior is not created, so cannot use
> - current_inferior ()->environment. Also, there's no obvious
> - place where this code can be moved such that it surely run
> - before any code possibly mangles original PATH. */
> - environment = make_environ ();
> - init_environ (environment);
> - env = get_in_environ (environment, path_var_name);
> + current_inferior ()->environment. We use getenv here because it
> + is not necessary to create a whole new gdb_environ just for one
> + variable. */
> + env = getenv (path_var_name);
>
> /* Can be null if path is not set. */
> if (!env)
> env = "";
> orig_path = xstrdup (env);
> - free_environ (environment);
> }
LGTM.
More information about the Gdb-patches
mailing list