diff options
author | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-08-15 13:49:18 -0400 |
---|---|---|
committer | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-08-15 13:49:18 -0400 |
commit | 206726fbfdd521fbb184daedb71b85030453bf0b (patch) | |
tree | f9a53185e79ea333158cf97e907d824e4716565a /gdb/infcmd.c | |
parent | 0335ac6d12906bfb4b48410d8a7229c21c727cf2 (diff) | |
download | gdb-206726fbfdd521fbb184daedb71b85030453bf0b.zip gdb-206726fbfdd521fbb184daedb71b85030453bf0b.tar.gz gdb-206726fbfdd521fbb184daedb71b85030453bf0b.tar.bz2 |
Fix PR gdb/21954: make 'unset environment' work again
When I made commit 9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e, which
C++-fied gdb/common/environ.[ch], I mistakenly altered the behaviour
of the 'unset environment' command. This command, which should delete
all environment variables, is now resetting the list of variables to
the state they were when GDB was started.
This commit fixes this regression, and also adds a test on
gdb.base/environ.exp which really checks if 'unset environment'
worked.
gdb/ChangeLog:
2017-08-15 Sergio Durigan Junior <sergiodj@redhat.com>
PR gdb/21954
* infcmd.c (unset_environment_command): Use the 'clear' method on
the environment instead of resetting it.
gdb/testsuite/ChangeLog:
2017-08-15 Sergio Durigan Junior <sergiodj@redhat.com>
PR gdb/21954
* gdb.base/environ.exp: Add test to check if 'unset environment'
works.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r-- | gdb/infcmd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c index defa7b0..c8a82db 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2230,7 +2230,7 @@ unset_environment_command (char *var, int from_tty) /* If there is no argument, delete all environment variables. Ask for confirmation if reading from the terminal. */ if (!from_tty || query (_("Delete all environment variables? "))) - current_inferior ()->environment = gdb_environ::from_host_environ (); + current_inferior ()->environment.clear (); } else current_inferior ()->environment.unset (var); |