This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RFA: "show user" output


Thanks for the ui_out explanation. This means I need to use
ui_out_spaces to do the indenting and ui_out_field_fmt and
ui_out_field_string to print the keywords. Following the example set in
the current version of the code I will use ui_out_text to print the
carriage returns. Here's my modified patch:

--
2001-09-08  Jackie Smith Cashion  <jsmith@redhat.com>

	* cli/cli-script.c (print_command_lines): Remove extra
	"if", "else", "while", and "end" from show user output.

--
Index: cli-script.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-script.c,v
retrieving revision 1.7
diff -c -3 -p -r1.7 cli-script.c
*** cli-script.c	2001/06/17 15:16:12	1.7
--- cli-script.c	2001/09/09 01:56:47
*************** print_command_lines (struct ui_out *uiou
*** 171,184 ****
        /* A while command.  Recursively print its subcommands and
continue.  */
        if (list->control_type == while_control)
  	{
- 	  ui_out_text (uiout, "while ");
  	  ui_out_field_fmt (uiout, NULL, "while %s", list->line);
  	  ui_out_text (uiout, "\n");
  	  print_command_lines (uiout, *list->body_list, depth + 1);
- 	  ui_out_field_string (uiout, NULL, "end");
  	  if (depth)
  	    ui_out_spaces (uiout, 2 * depth);
! 	  ui_out_text (uiout, "end\n");
  	  list = list->next;
  	  continue;
  	}
--- 171,183 ----
        /* A while command.  Recursively print its subcommands and
continue.  */
        if (list->control_type == while_control)
  	{
  	  ui_out_field_fmt (uiout, NULL, "while %s", list->line);
  	  ui_out_text (uiout, "\n");
  	  print_command_lines (uiout, *list->body_list, depth + 1);
  	  if (depth)
  	    ui_out_spaces (uiout, 2 * depth);
! 	  ui_out_field_string (uiout, NULL, "end");
! 	  ui_out_text (uiout, "\n");
  	  list = list->next;
  	  continue;
  	}
*************** print_command_lines (struct ui_out *uiou
*** 186,192 ****
        /* An if command.  Recursively print both arms before
continueing.  */
        if (list->control_type == if_control)
  	{
- 	  ui_out_text (uiout, "if ");
  	  ui_out_field_fmt (uiout, NULL, "if %s", list->line);
  	  ui_out_text (uiout, "\n");
  	  /* The true arm. */
--- 185,190 ----
*************** print_command_lines (struct ui_out *uiou
*** 198,211 ****
  	      if (depth)
  		ui_out_spaces (uiout, 2 * depth);
  	      ui_out_field_string (uiout, NULL, "else");
! 	      ui_out_text (uiout, "else\n");
  	      print_command_lines (uiout, list->body_list[1], depth + 1);
  	    }
  
- 	  ui_out_field_string (uiout, NULL, "end");
  	  if (depth)
  	    ui_out_spaces (uiout, 2 * depth);
! 	  ui_out_text (uiout, "end\n");
  	  list = list->next;
  	  continue;
  	}
--- 196,209 ----
  	      if (depth)
  		ui_out_spaces (uiout, 2 * depth);
  	      ui_out_field_string (uiout, NULL, "else");
! 	      ui_out_text (uiout, "\n");
  	      print_command_lines (uiout, list->body_list[1], depth + 1);
  	    }
  
  	  if (depth)
  	    ui_out_spaces (uiout, 2 * depth);
! 	  ui_out_field_string (uiout, NULL, "end");
! 	  ui_out_text (uiout, "\n");
  	  list = list->next;
  	  continue;
  	}

-- 
Jackie Smith Cashion

email:  jsmith@redhat.com
phone:  931 438 2432


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]