diff mbox

[v3,1/2] Emit inferior, thread and frame selection events to all UIs

Message ID 87shpyiq8n.fsf@euler.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Dec. 8, 2016, 12:01 p.m. UTC
Hi!

On Sat, 24 Sep 2016 16:13:30 -0400, Simon Marchi <simon.marchi@polymtl.ca> wrote:
> --- a/gdb/inferior.c
> +++ b/gdb/inferior.c

> +void
> +print_selected_inferior (struct ui_out *uiout)
> +{
> +  char buf[PATH_MAX + 256];
> +  struct inferior *inf = current_inferior ();
> +
> +  xsnprintf (buf, sizeof (buf),
> +	     _("[Switching to inferior %d [%s] (%s)]\n"),
> +	     inf->num,
> +	     inferior_pid_to_str (inf->pid),
> +	     (inf->pspace->pspace_exec_filename != NULL
> +	      ? inf->pspace->pspace_exec_filename
> +	      : _("<noexec>")));
> +  ui_out_text (uiout, buf);
> +}
> +

On GNU/Hurd, there is no "#define PATH_MAX", so this fails to build.
(I'm aware that there is other PATH_MAX usage in GDB sources, which we
ought to fix at some point, for example in gdbserver -- which is not yet
enabled for GNU/Hurd.)

Unless I miss something, this issue could be addressed by simply using
ui_out_message instead of ui_out_text with a temporary "buf" -- OK to
push the following?



Grüße
 Thomas

Comments

Simon Marchi Dec. 8, 2016, 3:25 p.m. UTC | #1
On 2016-12-08 07:01, Thomas Schwinge wrote:
> On GNU/Hurd, there is no "#define PATH_MAX", so this fails to build.
> (I'm aware that there is other PATH_MAX usage in GDB sources, which we
> ought to fix at some point, for example in gdbserver -- which is not 
> yet
> enabled for GNU/Hurd.)
> 
> Unless I miss something, this issue could be addressed by simply using
> ui_out_message instead of ui_out_text with a temporary "buf" -- OK to
> push the following?
> 
> --- gdb/inferior.c
> +++ gdb/inferior.c
> @@ -556,17 +556,15 @@ inferior_pid_to_str (int pid)
>  void
>  print_selected_inferior (struct ui_out *uiout)
>  {
> -  char buf[PATH_MAX + 256];
>    struct inferior *inf = current_inferior ();
> 
> -  xsnprintf (buf, sizeof (buf),
> -	     _("[Switching to inferior %d [%s] (%s)]\n"),
> -	     inf->num,
> -	     inferior_pid_to_str (inf->pid),
> -	     (inf->pspace->pspace_exec_filename != NULL
> -	      ? inf->pspace->pspace_exec_filename
> -	      : _("<noexec>")));
> -  ui_out_text (uiout, buf);
> +  ui_out_message (uiout,
> +		  _("[Switching to inferior %d [%s] (%s)]\n"),
> +		  inf->num,
> +		  inferior_pid_to_str (inf->pid),
> +		  (inf->pspace->pspace_exec_filename != NULL
> +		   ? inf->pspace->pspace_exec_filename
> +		   : _("<noexec>")));
>  }
> 
>  /* Prints the list of inferiors and their details on UIOUT.  This is a

Yeah it looks much better.  Also, if you want to factor out complexity 
from this big one liner by using temporary variables, I think it would 
improve it further.

Thanks,

Simon
diff mbox

Patch

--- gdb/inferior.c
+++ gdb/inferior.c
@@ -556,17 +556,15 @@  inferior_pid_to_str (int pid)
 void
 print_selected_inferior (struct ui_out *uiout)
 {
-  char buf[PATH_MAX + 256];
   struct inferior *inf = current_inferior ();
 
-  xsnprintf (buf, sizeof (buf),
-	     _("[Switching to inferior %d [%s] (%s)]\n"),
-	     inf->num,
-	     inferior_pid_to_str (inf->pid),
-	     (inf->pspace->pspace_exec_filename != NULL
-	      ? inf->pspace->pspace_exec_filename
-	      : _("<noexec>")));
-  ui_out_text (uiout, buf);
+  ui_out_message (uiout,
+		  _("[Switching to inferior %d [%s] (%s)]\n"),
+		  inf->num,
+		  inferior_pid_to_str (inf->pid),
+		  (inf->pspace->pspace_exec_filename != NULL
+		   ? inf->pspace->pspace_exec_filename
+		   : _("<noexec>")));
 }
 
 /* Prints the list of inferiors and their details on UIOUT.  This is a