binutils-gdb/gdb/mi
Sergio Durigan Junior 43573013c9 Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)"
Currently we have "current_directory" and "gdb_dirbuf" globals, which
means that we basically have two possible places to consult when we
want to know GDB's current working directory.

This is not ideal and can lead to confusion.  Moreover, the way we're
using "gdb_difbuf" along with "getcwd" is problematic because we
declare the buffer with "1024" elements hardcoded, which does not take
into account longer pathnames that are possible in many filesystems.
Using "PATH_MAX" would also not be a solution because of portability
problems.  Therefore, the best solution is to rely on the fact that
"getcwd (NULL, 0)" will "do the right thing" and return a
heap-allocated string containing the full path.  With the new "getcwd"
module from gnulib, it is now possible to do that without worrying
about breaking some host.

With this patch "current_directory" is now the only place to check for
GDB's cwd.

Reviewed-by: Pedro Alves <palves@redhat.com>

gdb/ChangeLog:
2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>

	* cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
	(cd_command): Likewise.  Free "current_directory" before
	assigning to it.
	* main.c (captured_main_1): Use "getcwd (NULL, 0)".
	* mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
	* top.c (gdb_dirbuf): Remove global declaration.
	* top.h (gdb_dirbuf): Likewise.
2017-09-22 13:28:16 -04:00
..
ChangeLog-1999-2003
mi-cmd-break.c Change setup_breakpoint_reporting to return a scoped_restore 2017-09-11 16:15:07 -06:00
mi-cmd-break.h Change setup_breakpoint_reporting to return a scoped_restore 2017-09-11 16:15:07 -06:00
mi-cmd-catch.c Change setup_breakpoint_reporting to return a scoped_restore 2017-09-11 16:15:07 -06:00
mi-cmd-disas.c Introduce gdb_disassembly_flags 2017-09-04 18:23:22 +01:00
mi-cmd-env.c Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)" 2017-09-22 13:28:16 -04:00
mi-cmd-file.c Use ui_out_emit_tuple in more places 2017-09-09 13:46:05 -06:00
mi-cmd-info.c Introduce and use ui_out_emit_table 2017-08-03 07:58:51 -06:00
mi-cmd-stack.c Use ui_out_emit_list 2017-04-22 09:47:01 -06:00
mi-cmd-target.c -Wwrite-strings: Constify mi_cmd_argv_ftype's 'command' parameter 2017-04-05 19:21:34 +01:00
mi-cmd-var.c Use ui_out_emit_list and ui_out_emit_tuple with gdb::optional 2017-09-09 13:46:09 -06:00
mi-cmds.c Remove unnecessary function prototypes. 2017-09-09 11:02:37 -07:00
mi-cmds.h -Wwrite-strings: Constify mi_cmd_argv_ftype's 'command' parameter 2017-04-05 19:21:34 +01:00
mi-common.c update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mi-common.h C++-fy struct interp/cli_interp/tui_interp/mi_interp 2017-02-03 16:30:04 +00:00
mi-console.c Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy 2017-02-02 11:11:47 +00:00
mi-console.h Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy 2017-02-02 11:11:47 +00:00
mi-getopt.c update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mi-getopt.h update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mi-interp.c Remove make_cleanup_restore_target_terminal 2017-09-20 16:09:50 -06:00
mi-interp.h Add -file-list-shared-libraries MI command 2017-03-20 14:57:51 -04:00
mi-main.c mi_load_progress: Restore current_uiout using a scoped_restore 2017-09-16 13:45:56 +02:00
mi-main.h update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mi-out.c Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy 2017-02-02 11:11:47 +00:00
mi-out.h Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy 2017-02-02 11:11:47 +00:00
mi-parse.c Make extract_arg return a std::string 2017-09-11 15:46:14 -06:00
mi-parse.h Use DISABLE_COPY_AND_ASSIGN 2017-09-19 10:10:03 +01:00
mi-symbol-cmds.c Use ui_out_emit_list 2017-04-22 09:47:01 -06:00