public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Convert wrap_here to use integer parameter
@ 2022-01-26 22:25 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2022-01-26 22:25 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6c92c339539ec87dc12783e9c8f1688a4a370c03

commit 6c92c339539ec87dc12783e9c8f1688a4a370c03
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Dec 30 09:46:02 2021 -0700

    Convert wrap_here to use integer parameter
    
    I think it only really makes sense to call wrap_here with an argument
    consisting solely of spaces.  Given this, it seemed better to me that
    the argument be an int, rather than a string.  This patch is the
    result.  Much of it was written by a script.

Diff:
---
 gdb/ada-typeprint.c          |  8 +++----
 gdb/ada-valprint.c           |  6 ++---
 gdb/breakpoint.c             | 15 ++++---------
 gdb/c-typeprint.c            | 16 +++++++-------
 gdb/cli-out.c                |  4 ++--
 gdb/cli-out.h                |  2 +-
 gdb/cli/cli-cmds.c           |  2 +-
 gdb/cli/cli-decode.c         | 12 +++++-----
 gdb/cp-valprint.c            |  2 +-
 gdb/disasm.c                 |  4 ++--
 gdb/exceptions.c             |  2 +-
 gdb/exec.c                   |  2 +-
 gdb/f-typeprint.c            |  4 ++--
 gdb/guile/scm-pretty-print.c |  2 +-
 gdb/m2-typeprint.c           |  8 +++----
 gdb/main.c                   |  8 +++----
 gdb/maint.c                  |  4 ++--
 gdb/mi/mi-out.c              |  4 ++--
 gdb/mi/mi-out.h              |  2 +-
 gdb/p-typeprint.c            | 10 ++++-----
 gdb/p-valprint.c             |  2 +-
 gdb/printcmd.c               |  8 +++----
 gdb/psymtab.c                | 10 ++++-----
 gdb/python/py-framefilter.c  |  6 ++---
 gdb/python/py-prettyprint.c  |  2 +-
 gdb/source.c                 | 10 ++++-----
 gdb/stack.c                  | 20 ++++++++---------
 gdb/symfile.c                |  4 ++--
 gdb/symmisc.c                |  6 ++---
 gdb/symtab.c                 |  2 +-
 gdb/top.c                    |  2 +-
 gdb/tracepoint.c             | 15 +++++--------
 gdb/ui-out.c                 |  4 ++--
 gdb/ui-out.h                 |  4 ++--
 gdb/utils.c                  | 52 ++++++++++++++++----------------------------
 gdb/utils.h                  |  2 +-
 gdb/valprint.c               |  2 +-
 37 files changed, 122 insertions(+), 146 deletions(-)

diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c
index 30fe1072cf7..c6a3867d53f 100644
--- a/gdb/ada-typeprint.c
+++ b/gdb/ada-typeprint.c
@@ -317,7 +317,7 @@ print_enum_type (struct type *type, struct ui_file *stream)
   LONGEST lastval;
 
   fprintf_filtered (stream, "(");
-  wrap_here (" ");
+  wrap_here (1);
 
   lastval = 0;
   for (i = 0; i < len; i++)
@@ -325,7 +325,7 @@ print_enum_type (struct type *type, struct ui_file *stream)
       QUIT;
       if (i)
 	fprintf_filtered (stream, ", ");
-      wrap_here ("    ");
+      wrap_here (4);
       fputs_styled (ada_enum_name (type->field (i).name ()),
 		    variable_name_style.style (), stream);
       if (lastval != type->field (i).loc_enumval ())
@@ -416,7 +416,7 @@ print_array_type (struct type *type, struct ui_file *stream, int show,
 
   elt_type = ada_array_element_type (type, n_indices);
   fprintf_filtered (stream, ") of ");
-  wrap_here ("");
+  wrap_here (0);
   ada_print_type (elt_type, "", stream, show == 0 ? 0 : show - 1, level + 1,
 		  flags);
   /* Arrays with variable-length elements are never bit-packed in practice but
@@ -892,7 +892,7 @@ print_func_type (struct type *type, struct ui_file *stream, const char *name,
 	  if (i > 0)
 	    {
 	      fputs_filtered ("; ", stream);
-	      wrap_here ("    ");
+	      wrap_here (4);
 	    }
 	  fprintf_filtered (stream, "a%d: ", i + 1);
 	  ada_print_type (type->field (i).type (), "", stream, -1, 0,
diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c
index 70e46965c17..352568d8045 100644
--- a/gdb/ada-valprint.c
+++ b/gdb/ada-valprint.c
@@ -178,7 +178,7 @@ val_print_packed_array_elements (struct type *type, const gdb_byte *valaddr,
 	  fprintf_filtered (stream, "\n");
 	  print_spaces_filtered (2 + 2 * recurse, stream);
 	}
-      wrap_here (n_spaces (2 + 2 * recurse));
+      wrap_here (2 + 2 * recurse);
       maybe_print_array_index (index_type, i + low, stream, options);
 
       i0 = i;
@@ -235,7 +235,7 @@ val_print_packed_array_elements (struct type *type, const gdb_byte *valaddr,
 		    {
 		      fprintf_filtered (stream, ", ");
 		    }
-		  wrap_here (n_spaces (2 + 2 * recurse));
+		  wrap_here (2 + 2 * recurse);
 		  maybe_print_array_index (index_type, j + low,
 					   stream, options);
 		}
@@ -614,7 +614,7 @@ print_field_values (struct value *value, struct value *outer_value,
 	}
       else
 	{
-	  wrap_here (n_spaces (2 + 2 * recurse));
+	  wrap_here (2 + 2 * recurse);
 	}
 
       annotate_field_begin (type->field (i).type ());
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 914f945714e..9567c737cab 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -5788,14 +5788,13 @@ bpstat_causes_stop (bpstat *bs)
 
 \f
 
-/* Compute a string of spaces suitable to indent the next line
+/* Compute a number of spaces suitable to indent the next line
    so it starts at the position corresponding to the table column
    named COL_NAME in the currently active table of UIOUT.  */
 
-static char *
+static int
 wrap_indent_at_field (struct ui_out *uiout, const char *col_name)
 {
-  static char wrap_indent[80];
   int i, total_width, width, align;
   const char *text;
 
@@ -5803,18 +5802,12 @@ wrap_indent_at_field (struct ui_out *uiout, const char *col_name)
   for (i = 1; uiout->query_table_field (i, &width, &align, &text); i++)
     {
       if (strcmp (text, col_name) == 0)
-	{
-	  gdb_assert (total_width < sizeof wrap_indent);
-	  memset (wrap_indent, ' ', total_width);
-	  wrap_indent[total_width] = 0;
-
-	  return wrap_indent;
-	}
+	return total_width;
 
       total_width += width + 1;
     }
 
-  return NULL;
+  return 0;
 }
 
 /* Determine if the locations of this breakpoint will have their conditions
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 81fc82ec263..d20b71124ae 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -250,7 +250,7 @@ cp_type_print_derivation_info (struct ui_file *stream,
 
   for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
     {
-      wrap_here ("        ");
+      wrap_here (8);
       fputs_filtered (i == 0 ? ": " : ", ", stream);
       fprintf_filtered (stream, "%s%s ",
 			BASETYPE_VIA_PUBLIC (type, i)
@@ -310,7 +310,7 @@ cp_type_print_method_args (struct type *mtype, const char *prefix,
 	  else if (i < nargs)
 	    {
 	      fprintf_filtered (stream, ", ");
-	      wrap_here ("        ");
+	      wrap_here (8);
 	    }
 	}
     }
@@ -573,7 +573,7 @@ c_type_print_args (struct type *type, struct ui_file *stream,
       if (printed_any)
 	{
 	  fprintf_filtered (stream, ", ");
-	  wrap_here ("    ");
+	  wrap_here (4);
 	}
 
       param_type = type->field (i).type ();
@@ -602,7 +602,7 @@ c_type_print_args (struct type *type, struct ui_file *stream,
       if (printed_any && type->has_varargs ())
 	{
 	  fprintf_filtered (stream, ", ");
-	  wrap_here ("    ");
+	  wrap_here (4);
 	  fprintf_filtered (stream, "...");
 	}
     }
@@ -888,14 +888,14 @@ c_type_print_template_args (const struct type_print_options *flags,
 
       if (first)
 	{
-	  wrap_here ("    ");
+	  wrap_here (4);
 	  fprintf_filtered (stream, _("[with %s = "), sym->linkage_name ());
 	  first = 0;
 	}
       else
 	{
 	  fputs_filtered (", ", stream);
-	  wrap_here ("         ");
+	  wrap_here (9);
 	  fprintf_filtered (stream, "%s = ", sym->linkage_name ());
 	}
 
@@ -1559,7 +1559,7 @@ c_type_print_base_1 (struct type *type, struct ui_file *stream,
 	    fputs_filtered (" ", stream);
 	}
 
-      wrap_here ("    ");
+      wrap_here (4);
       if (show < 0)
 	{
 	  /* If we just printed a tag name, no need to print anything
@@ -1594,7 +1594,7 @@ c_type_print_base_1 (struct type *type, struct ui_file *stream,
 	      QUIT;
 	      if (i)
 		fprintf_filtered (stream, ", ");
-	      wrap_here ("    ");
+	      wrap_here (4);
 	      fputs_styled (type->field (i).name (),
 			    variable_name_style.style (), stream);
 	      if (lastval != type->field (i).loc_enumval ())
diff --git a/gdb/cli-out.c b/gdb/cli-out.c
index 5ff645b4a83..925ba8a7369 100644
--- a/gdb/cli-out.c
+++ b/gdb/cli-out.c
@@ -238,12 +238,12 @@ cli_ui_out::do_message (const ui_file_style &style,
 }
 
 void
-cli_ui_out::do_wrap_hint (const char *identstring)
+cli_ui_out::do_wrap_hint (int indent)
 {
   if (m_suppress_output)
     return;
 
-  wrap_here (identstring);
+  wrap_here (indent);
 }
 
 void
diff --git a/gdb/cli-out.h b/gdb/cli-out.h
index 4af5524495a..3fc794b61a4 100644
--- a/gdb/cli-out.h
+++ b/gdb/cli-out.h
@@ -67,7 +67,7 @@ protected:
   virtual void do_message (const ui_file_style &style,
 			   const char *format, va_list args) override
     ATTRIBUTE_PRINTF (3,0);
-  virtual void do_wrap_hint (const char *identstring) override;
+  virtual void do_wrap_hint (int indent) override;
   virtual void do_flush () override;
   virtual void do_redirect (struct ui_file *outstream) override;
 
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 563f29067c3..943d4db94de 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -841,7 +841,7 @@ echo_command (const char *text, int from_tty)
   reset_terminal_style (gdb_stdout);
 
   /* Force this output to appear now.  */
-  wrap_here ("");
+  wrap_here (0);
   gdb_flush (gdb_stdout);
 }
 
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index a71350ba68b..24c80dc7bd5 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -1414,7 +1414,7 @@ fput_command_names_styled (const cmd_list_element &c,
 	continue;
 
       fputs_filtered (", ", stream);
-      wrap_here ("   ");
+      wrap_here (3);
       fput_command_name_styled (alias, stream);
     }
 
@@ -1651,7 +1651,7 @@ help_list (struct cmd_list_element *list, const char *cmdtype,
       fprintf_filtered (stream, "\n\
 Type \"help%s\" followed by a class name for a list of commands in ",
 			cmdtype1);
-      wrap_here ("");
+      wrap_here (0);
       fprintf_filtered (stream, "that class.");
 
       fprintf_filtered (stream, "\n\
@@ -1660,16 +1660,16 @@ Type \"help all\" for the list of all commands.");
 
   fprintf_filtered (stream, "\nType \"help%s\" followed by %scommand name ",
 		    cmdtype1, cmdtype2);
-  wrap_here ("");
+  wrap_here (0);
   fputs_filtered ("for ", stream);
-  wrap_here ("");
+  wrap_here (0);
   fputs_filtered ("full ", stream);
-  wrap_here ("");
+  wrap_here (0);
   fputs_filtered ("documentation.\n", stream);
   fputs_filtered ("Type \"apropos word\" to search "
 		  "for commands related to \"word\".\n", stream);
   fputs_filtered ("Type \"apropos -v word\" for full documentation", stream);
-  wrap_here ("");
+  wrap_here (0);
   fputs_filtered (" of commands related to \"word\".\n", stream);
   fputs_filtered ("Command name abbreviations are allowed if unambiguous.\n",
 		  stream);
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
index 1d98eb58214..3b0e1df7a1f 100644
--- a/gdb/cp-valprint.c
+++ b/gdb/cp-valprint.c
@@ -222,7 +222,7 @@ cp_print_value_fields (struct value *val, struct ui_file *stream,
 	    }
 	  else
 	    {
-	      wrap_here (n_spaces (2 + 2 * recurse));
+	      wrap_here (2 + 2 * recurse);
 	    }
 
 	  annotate_field_begin (type->field (i).type ());
diff --git a/gdb/disasm.c b/gdb/disasm.c
index 724040faa92..46aa995a9d5 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -1118,7 +1118,7 @@ The following disassembler options are supported for use with the\n\
 	    fprintf_filtered (file, "%s", valid_options->arg[i]->name);
 	  if (valid_options->name[i + 1] != NULL)
 	    fprintf_filtered (file, ", ");
-	  wrap_here ("  ");
+	  wrap_here (2);
 	}
       fprintf_filtered (file, "\n");
     }
@@ -1136,7 +1136,7 @@ The following disassembler options are supported for use with the\n\
 	  for (j = 0; valid_args[i].values[j] != NULL; j++)
 	    {
 	      fprintf_filtered (file, " %s", valid_args[i].values[j]);
-	      wrap_here ("   ");
+	      wrap_here (3);
 	    }
 	  fprintf_filtered (file, "\n");
 	}
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 87a8dc26a51..404cd4c4038 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -52,7 +52,7 @@ print_flush (void)
 
   /* 1.  The _filtered buffer.  */
   if (filtered_printing_initialized ())
-    wrap_here ("");
+    wrap_here (0);
 
   /* 2.  The stdio buffer.  */
   gdb_flush (gdb_stdout);
diff --git a/gdb/exec.c b/gdb/exec.c
index d9854d50f78..c4161b58e73 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -909,7 +909,7 @@ print_section_info (const target_section_table *t, bfd *abfd)
   printf_filtered ("\t`%ps', ",
 		   styled_string (file_name_style.style (),
 				  bfd_get_filename (abfd)));
-  wrap_here ("        ");
+  wrap_here (8);
   printf_filtered (_("file type %s.\n"), bfd_get_target (abfd));
   if (abfd == current_program_space->exec_bfd ())
     {
diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
index 0a338c11cbc..3e419a74a9f 100644
--- a/gdb/f-typeprint.c
+++ b/gdb/f-typeprint.c
@@ -250,7 +250,7 @@ f_language::f_type_print_varspec_suffix (struct type *type,
 	      if (i > 0)
 		{
 		  fputs_filtered (", ", stream);
-		  wrap_here ("    ");
+		  wrap_here (4);
 		}
 	      print_type (type->field (i).type (), "", stream, -1, 0, 0);
 	    }
@@ -290,7 +290,7 @@ f_language::f_type_print_base (struct type *type, struct ui_file *stream,
 
   QUIT;
 
-  wrap_here ("    ");
+  wrap_here (4);
   if (type == NULL)
     {
       fputs_styled ("<type unknown>", metadata_style.style (), stream);
diff --git a/gdb/guile/scm-pretty-print.c b/gdb/guile/scm-pretty-print.c
index 77f9b0ab7f8..814a7e7a4bc 100644
--- a/gdb/guile/scm-pretty-print.c
+++ b/gdb/guile/scm-pretty-print.c
@@ -861,7 +861,7 @@ ppscm_print_children (SCM printer, enum display_hint hint,
 	      print_spaces_filtered (2 + 2 * recurse, stream);
 	    }
 	  else
-	    wrap_here (n_spaces (2 + 2 *recurse));
+	    wrap_here (2 + 2 *recurse);
 	}
 
       if (is_map && i % 2 == 0)
diff --git a/gdb/m2-typeprint.c b/gdb/m2-typeprint.c
index f929ab4df3c..cbb6b545d4f 100644
--- a/gdb/m2-typeprint.c
+++ b/gdb/m2-typeprint.c
@@ -79,7 +79,7 @@ m2_print_type (struct type *type, const char *varstring,
 
   QUIT;
 
-  wrap_here ("    ");
+  wrap_here (4);
   if (type == NULL)
     {
       fputs_styled (_("<type unknown>"), metadata_style.style (), stream);
@@ -292,7 +292,7 @@ m2_procedure (struct type *type, struct ui_file *stream,
 	  if (i > 0)
 	    {
 	      fputs_filtered (", ", stream);
-	      wrap_here ("    ");
+	      wrap_here (4);
 	    }
 	  m2_print_type (type->field (i).type (), "", stream, -1, 0, flags);
 	}
@@ -539,7 +539,7 @@ m2_record_fields (struct type *type, struct ui_file *stream, int show,
 	    fprintf_filtered (stream, " = ");
 	}
     }
-  wrap_here ("    ");
+  wrap_here (4);
   if (show < 0)
     {
       if (type->code () == TYPE_CODE_STRUCT)
@@ -608,7 +608,7 @@ m2_enum (struct type *type, struct ui_file *stream, int show, int level)
 	  QUIT;
 	  if (i > 0)
 	    fprintf_filtered (stream, ", ");
-	  wrap_here ("    ");
+	  wrap_here (4);
 	  fputs_styled (type->field (i).name (),
 			variable_name_style.style (), stream);
 	  if (lastval != type->field (i).loc_enumval ())
diff --git a/gdb/main.c b/gdb/main.c
index 278b901c768..6b312f85f2b 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -1121,7 +1121,7 @@ captured_main_1 (struct captured_main_args *context)
   if (print_version)
     {
       print_gdb_version (gdb_stdout, false);
-      wrap_here ("");
+      wrap_here (0);
       printf_filtered ("\n");
       exit (0);
     }
@@ -1135,7 +1135,7 @@ captured_main_1 (struct captured_main_args *context)
   if (print_configuration)
     {
       print_gdb_configuration (gdb_stdout);
-      wrap_here ("");
+      wrap_here (0);
       printf_filtered ("\n");
       exit (0);
     }
@@ -1151,7 +1151,7 @@ captured_main_1 (struct captured_main_args *context)
       print_gdb_version (gdb_stdout, true);
       if (symarg)
 	printf_filtered ("..");
-      wrap_here ("");
+      wrap_here (0);
       printf_filtered ("\n");
       gdb_flush (gdb_stdout);	/* Force to screen during slow
 				   operations.  */
@@ -1172,7 +1172,7 @@ captured_main_1 (struct captured_main_args *context)
       print_gdb_version (gdb_stdout, true);
       if (symarg)
 	printf_filtered ("..");
-      wrap_here ("");
+      wrap_here (0);
       printf_filtered ("\n");
       gdb_flush (gdb_stdout);	/* Force to screen during slow
 				   operations.  */
diff --git a/gdb/maint.c b/gdb/maint.c
index 7e84b60fea0..49e62292324 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -364,9 +364,9 @@ maint_print_all_sections (const char *header, bfd *abfd, objfile *objfile,
 			  const char *arg)
 {
   puts_filtered (header);
-  wrap_here ("        ");
+  wrap_here (8);
   printf_filtered ("`%s', ", bfd_get_filename (abfd));
-  wrap_here ("        ");
+  wrap_here (8);
   printf_filtered (_("file type %s.\n"), bfd_get_target (abfd));
 
   int section_count = gdb_bfd_count_sections (abfd);
diff --git a/gdb/mi/mi-out.c b/gdb/mi/mi-out.c
index 20c6f0f9194..72ae36dd418 100644
--- a/gdb/mi/mi-out.c
+++ b/gdb/mi/mi-out.c
@@ -172,9 +172,9 @@ mi_ui_out::do_message (const ui_file_style &style,
 }
 
 void
-mi_ui_out::do_wrap_hint (const char *identstring)
+mi_ui_out::do_wrap_hint (int indent)
 {
-  wrap_here (identstring);
+  wrap_here (indent);
 }
 
 void
diff --git a/gdb/mi/mi-out.h b/gdb/mi/mi-out.h
index 1b7fa96a182..8f2f2d82ec0 100644
--- a/gdb/mi/mi-out.h
+++ b/gdb/mi/mi-out.h
@@ -76,7 +76,7 @@ protected:
   virtual void do_message (const ui_file_style &style,
 			   const char *format, va_list args) override
     ATTRIBUTE_PRINTF (3,0);
-  virtual void do_wrap_hint (const char *identstring) override;
+  virtual void do_wrap_hint (int indent) override;
   virtual void do_flush () override;
   virtual void do_redirect (struct ui_file *outstream) override;
 
diff --git a/gdb/p-typeprint.c b/gdb/p-typeprint.c
index 3450836996d..a105d297bc4 100644
--- a/gdb/p-typeprint.c
+++ b/gdb/p-typeprint.c
@@ -287,7 +287,7 @@ pascal_language::print_func_args (struct type *type, struct ui_file *stream,
       if (i > 0)
 	{
 	  fputs_filtered (", ", stream);
-	  wrap_here ("    ");
+	  wrap_here (4);
 	}
       /*  Can we find if it is a var parameter ??
 	  if ( TYPE_FIELD(type, i) == )
@@ -419,7 +419,7 @@ pascal_language::type_print_base (struct type *type, struct ui_file *stream, int
   section_type;
 
   QUIT;
-  wrap_here ("    ");
+  wrap_here (4);
   if (type == NULL)
     {
       fputs_styled ("<type unknown>", metadata_style.style (), stream);
@@ -487,7 +487,7 @@ pascal_language::type_print_base (struct type *type, struct ui_file *stream, int
       fprintf_filtered (stream, "case <?> of ");
 
     struct_union:
-      wrap_here ("    ");
+      wrap_here (4);
       if (show < 0)
 	{
 	  /* If we just printed a tag name, no need to print anything else.  */
@@ -692,7 +692,7 @@ pascal_language::type_print_base (struct type *type, struct ui_file *stream, int
       /* enum is just defined by
 	 type enume_name = (enum_member1,enum_member2,...)  */
       fprintf_filtered (stream, " = ");
-      wrap_here ("    ");
+      wrap_here (4);
       if (show < 0)
 	{
 	  /* If we just printed a tag name, no need to print anything else.  */
@@ -709,7 +709,7 @@ pascal_language::type_print_base (struct type *type, struct ui_file *stream, int
 	      QUIT;
 	      if (i)
 		fprintf_filtered (stream, ", ");
-	      wrap_here ("    ");
+	      wrap_here (4);
 	      fputs_filtered (type->field (i).name (), stream);
 	      if (lastval != type->field (i).loc_enumval ())
 		{
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index e0c3868991b..2019a1d40df 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -574,7 +574,7 @@ pascal_object_print_value_fields (struct value *val, struct ui_file *stream,
 	    }
 	  else
 	    {
-	      wrap_here (n_spaces (2 + 2 * recurse));
+	      wrap_here (2 + 2 * recurse);
 	    }
 
 	  annotate_field_begin (type->field (i).type ());
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index fdbe72be83c..e1444ac1c83 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -317,7 +317,7 @@ print_formatted (struct value *val, int size,
 
 	case 'i':
 	  /* We often wrap here if there are long symbolic names.  */
-	  wrap_here ("    ");
+	  wrap_here (4);
 	  next_address = (value_address (val)
 			  + gdb_print_insn (type->arch (),
 					    value_address (val), stream,
@@ -826,7 +826,7 @@ find_instruction_backward (struct gdbarch *gdbarch, CORE_ADDR addr,
 	     is calculated after the loop.  */
 	  printf_filtered (_("No line number information available "
 			     "for address "));
-	  wrap_here ("  ");
+	  wrap_here (2);
 	  print_address (gdbarch, loop_start - 1, gdb_stdout);
 	  printf_filtered ("\n");
 	  break;
@@ -1498,7 +1498,7 @@ output_command (const char *exp, int from_tty)
 
   annotate_value_end ();
 
-  wrap_here ("");
+  wrap_here (0);
   gdb_flush (gdb_stdout);
 }
 
@@ -2895,7 +2895,7 @@ printf_command (const char *arg, int from_tty)
 {
   ui_printf (arg, gdb_stdout);
   reset_terminal_style (gdb_stdout);
-  wrap_here ("");
+  wrap_here (0);
   gdb_stdout->flush ();
 }
 
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 0e9e822996c..11063bd5975 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1422,11 +1422,11 @@ partial_symtab::expand_dependencies (struct objfile *objfile)
 	  if (info_verbose)
 	    {
 	      puts_filtered (" ");
-	      wrap_here ("");
+	      wrap_here (0);
 	      puts_filtered ("and ");
-	      wrap_here ("");
+	      wrap_here (0);
 	      printf_filtered ("%s...", dependencies[i]->filename);
-	      wrap_here ("");	/* Flush output */
+	      wrap_here (0);	/* Flush output */
 	      gdb_flush (gdb_stdout);
 	    }
 	  dependencies[i]->expand_psymtab (objfile);
@@ -1679,14 +1679,14 @@ maintenance_info_psymtabs (const char *regexp, int from_tty)
 		    if (! printed_objfile_start)
 		      {
 			printf_filtered ("{ objfile %s ", objfile_name (objfile));
-			wrap_here ("  ");
+			wrap_here (2);
 			printf_filtered ("((struct objfile *) %s)\n",
 					 host_address_to_string (objfile));
 			printed_objfile_start = 1;
 		      }
 
 		    printf_filtered ("  { psymtab %s ", psymtab->filename);
-		    wrap_here ("    ");
+		    wrap_here (4);
 		    printf_filtered ("((struct partial_symtab *) %s)\n",
 				     host_address_to_string (psymtab));
 
diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
index 7870374b3ec..708fcc535e2 100644
--- a/gdb/python/py-framefilter.c
+++ b/gdb/python/py-framefilter.c
@@ -501,7 +501,7 @@ enumerate_args (PyObject *iter,
 	      if (arg.entry_kind != print_entry_values_only)
 		{
 		  out->text (", ");
-		  out->wrap_hint ("    ");
+		  out->wrap_hint (4);
 		}
 
 	      py_print_single_arg (out, NULL, &entryarg, NULL, &opts,
@@ -705,7 +705,7 @@ py_print_args (PyObject *filter,
 
   ui_out_emit_list list_emitter (out, "args");
 
-  out->wrap_hint ("   ");
+  out->wrap_hint (3);
   annotate_frame_args ();
   out->text (" (");
 
@@ -984,7 +984,7 @@ py_print_frame (PyObject *filter, frame_filter_flags flags,
 	      if (filename == NULL)
 		return EXT_LANG_BT_ERROR;
 
-	      out->wrap_hint ("   ");
+	      out->wrap_hint (3);
 	      out->text (" at ");
 	      annotate_frame_source_file ();
 	      out->field_string ("file", filename.get (),
diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c
index df4857fef11..59c311c9b66 100644
--- a/gdb/python/py-prettyprint.c
+++ b/gdb/python/py-prettyprint.c
@@ -474,7 +474,7 @@ print_children (PyObject *printer, const char *hint,
 	      print_spaces_filtered (2 + 2 * recurse, stream);
 	    }
 	  else
-	    wrap_here (n_spaces (2 + 2 *recurse));
+	    wrap_here (2 + 2 *recurse);
 	}
 
       if (is_map && i % 2 == 0)
diff --git a/gdb/source.c b/gdb/source.c
index 9cfc18b8115..2b0a5c9b407 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1548,7 +1548,7 @@ info_line_command (const char *arg, int from_tty)
 		 user about a source line, at least let them have the symbolic
 		 address.  */
 	      printf_filtered (" for address ");
-	      wrap_here ("  ");
+	      wrap_here (2);
 	      print_address (gdbarch, sal.pc, gdb_stdout);
 	    }
 	  else
@@ -1565,10 +1565,10 @@ info_line_command (const char *arg, int from_tty)
 	      printf_filtered ("Line %d of \"%s\"",
 			       sal.line,
 			       symtab_to_filename_for_display (sal.symtab));
-	      wrap_here ("  ");
+	      wrap_here (2);
 	      printf_filtered (" is at address ");
 	      print_address (gdbarch, start_pc, gdb_stdout);
-	      wrap_here ("  ");
+	      wrap_here (2);
 	      printf_filtered (" but contains no code.\n");
 	    }
 	  else
@@ -1576,10 +1576,10 @@ info_line_command (const char *arg, int from_tty)
 	      printf_filtered ("Line %d of \"%s\"",
 			       sal.line,
 			       symtab_to_filename_for_display (sal.symtab));
-	      wrap_here ("  ");
+	      wrap_here (2);
 	      printf_filtered (" starts at address ");
 	      print_address (gdbarch, start_pc, gdb_stdout);
-	      wrap_here ("  ");
+	      wrap_here (2);
 	      printf_filtered (" and ends at ");
 	      print_address (gdbarch, end_pc, gdb_stdout);
 	      printf_filtered (".\n");
diff --git a/gdb/stack.c b/gdb/stack.c
index 7a2d7da2c89..6c3707f1b87 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -875,7 +875,7 @@ print_frame_args (const frame_print_options &fp_opts,
 	  /* Print the current arg.  */
 	  if (!first)
 	    uiout->text (", ");
-	  uiout->wrap_hint ("    ");
+	  uiout->wrap_hint (4);
 
 	  if (!print_args)
 	    {
@@ -895,7 +895,7 @@ print_frame_args (const frame_print_options &fp_opts,
 	      if (arg.entry_kind != print_entry_values_only)
 		{
 		  uiout->text (", ");
-		  uiout->wrap_hint ("    ");
+		  uiout->wrap_hint (4);
 		}
 
 	      print_frame_arg (fp_opts, &entryarg);
@@ -1368,7 +1368,7 @@ print_frame (const frame_print_options &fp_opts,
     string_file stb;
     fputs_filtered (funname ? funname.get () : "??", &stb);
     uiout->field_stream ("func", stb, function_name_style.style ());
-    uiout->wrap_hint ("   ");
+    uiout->wrap_hint (3);
     annotate_frame_args ();
 
     uiout->text (" (");
@@ -1406,7 +1406,7 @@ print_frame (const frame_print_options &fp_opts,
       
 	filename_display = symtab_to_filename_for_display (sal.symtab);
 	annotate_frame_source_begin ();
-	uiout->wrap_hint ("   ");
+	uiout->wrap_hint (3);
 	uiout->text (" at ");
 	annotate_frame_source_file ();
 	uiout->field_string ("file", filename_display,
@@ -1433,7 +1433,7 @@ print_frame (const frame_print_options &fp_opts,
 	if (lib)
 	  {
 	    annotate_frame_where ();
-	    uiout->wrap_hint ("  ");
+	    uiout->wrap_hint (2);
 	    uiout->text (" from ");
 	    uiout->field_string ("from", lib, file_name_style.style ());
 	  }
@@ -1557,13 +1557,13 @@ info_frame_command_core (struct frame_info *fi, bool selected_frame_p)
   else
     fputs_styled ("<unavailable>", metadata_style.style (), gdb_stdout);
 
-  wrap_here ("   ");
+  wrap_here (3);
   if (funname)
     {
       printf_filtered (" in ");
       puts_filtered (funname);
     }
-  wrap_here ("   ");
+  wrap_here (3);
   if (sal.symtab)
     printf_filtered
       (" (%ps:%d)",
@@ -1571,7 +1571,7 @@ info_frame_command_core (struct frame_info *fi, bool selected_frame_p)
 		      symtab_to_filename_for_display (sal.symtab)),
        sal.line);
   puts_filtered ("; ");
-  wrap_here ("    ");
+  wrap_here (4);
   printf_filtered ("saved %s = ", pc_regname);
 
   if (!frame_id_p (frame_unwind_caller_id (fi)))
@@ -1627,7 +1627,7 @@ info_frame_command_core (struct frame_info *fi, bool selected_frame_p)
     }
   if (get_next_frame (fi) && calling_frame_info)
     puts_filtered (",");
-  wrap_here ("   ");
+  wrap_here (3);
   if (get_next_frame (fi))
     {
       printf_filtered (" caller of frame at ");
@@ -1765,7 +1765,7 @@ info_frame_command_core (struct frame_info *fi, bool selected_frame_p)
 		puts_filtered (" Saved registers:\n ");
 	      else
 		puts_filtered (",");
-	      wrap_here (" ");
+	      wrap_here (1);
 	      printf_filtered (" %s at ",
 			       gdbarch_register_name (gdbarch, i));
 	      puts_filtered (paddress (gdbarch, addr));
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 315ee8ecec7..f0a7c7f7c5a 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2607,9 +2607,9 @@ reread_symbols (int from_tty)
 
 	  if (!objfile_has_symbols (objfile))
 	    {
-	      wrap_here ("");
+	      wrap_here (0);
 	      printf_filtered (_("(no debugging symbols found)\n"));
-	      wrap_here ("");
+	      wrap_here (0);
 	    }
 
 	  /* We're done reading the symbol file; finish off complaints.  */
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index 2f4a076c352..65b06c4030f 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -766,7 +766,7 @@ maintenance_info_symtabs (const char *regexp, int from_tty)
 		    if (! printed_objfile_start)
 		      {
 			printf_filtered ("{ objfile %s ", objfile_name (objfile));
-			wrap_here ("  ");
+			wrap_here (2);
 			printf_filtered ("((struct objfile *) %s)\n",
 					 host_address_to_string (objfile));
 			printed_objfile_start = 1;
@@ -816,7 +816,7 @@ maintenance_info_symtabs (const char *regexp, int from_tty)
 
 		    printf_filtered ("\t{ symtab %s ",
 				     symtab_to_filename_for_display (symtab));
-		    wrap_here ("    ");
+		    wrap_here (4);
 		    printf_filtered ("((struct symtab *) %s)\n",
 				     host_address_to_string (symtab));
 		    printf_filtered ("\t  fullname %s\n",
@@ -873,7 +873,7 @@ maintenance_check_symtabs (const char *ignore, int from_tty)
 		if (! printed_objfile_start)
 		  {
 		    printf_filtered ("{ objfile %s ", objfile_name (objfile));
-		    wrap_here ("  ");
+		    wrap_here (2);
 		    printf_filtered ("((struct objfile *) %s)\n",
 				     host_address_to_string (objfile));
 		    printed_objfile_start = 1;
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 9fc96d7baa1..d0cda253bf2 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -4380,7 +4380,7 @@ output_source_filename_data::output (const char *disp_name,
     m_uiout->text (", ");
   m_first = false;
 
-  wrap_here ("");
+  wrap_here (0);
   if (m_uiout->is_mi_like_p ())
     {
       m_uiout->field_string ("file", disp_name, file_name_style.style ());
diff --git a/gdb/top.c b/gdb/top.c
index 9164cad0a6a..46983d1fb6f 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1364,7 +1364,7 @@ command_line_input (const char *prompt_arg, const char *annotation_suffix)
       /* Make sure that all output has been output.  Some machines may
 	 let you get away with leaving out some of the gdb_flush, but
 	 not all.  */
-      wrap_here ("");
+      wrap_here (0);
       gdb_flush (gdb_stdout);
       gdb_flush (gdb_stderr);
 
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index c015a8c58be..016bce0bf9b 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -2395,10 +2395,10 @@ tfind_line_command (const char *args, int from_tty)
 	  printf_filtered ("Line %d of \"%s\"",
 			   sal.line,
 			   symtab_to_filename_for_display (sal.symtab));
-	  wrap_here ("  ");
+	  wrap_here (2);
 	  printf_filtered (" is at address ");
 	  print_address (get_current_arch (), start_pc, gdb_stdout);
-	  wrap_here ("  ");
+	  wrap_here (2);
 	  printf_filtered (" but contains no code.\n");
 	  sal = find_pc_line (start_pc, 0);
 	  if (sal.line > 0
@@ -3660,8 +3660,6 @@ print_one_static_tracepoint_marker (int count,
 {
   struct symbol *sym;
 
-  char wrap_indent[80];
-  char extra_field_indent[80];
   struct ui_out *uiout = current_uiout;
 
   symtab_and_line sal;
@@ -3682,14 +3680,13 @@ print_one_static_tracepoint_marker (int count,
 		    !tracepoints.empty () ? 'y' : 'n');
   uiout->spaces (2);
 
-  strcpy (wrap_indent, "                                   ");
-
+  int wrap_indent = 35;
   if (gdbarch_addr_bit (marker.gdbarch) <= 32)
-    strcat (wrap_indent, "           ");
+    wrap_indent += 11;
   else
-    strcat (wrap_indent, "                   ");
+    wrap_indent += 19;
 
-  strcpy (extra_field_indent, "         ");
+  const char *extra_field_indent = "         ";
 
   uiout->field_core_addr ("addr", marker.gdbarch, marker.address);
 
diff --git a/gdb/ui-out.c b/gdb/ui-out.c
index 05d3515aa9a..e34e40fae76 100644
--- a/gdb/ui-out.c
+++ b/gdb/ui-out.c
@@ -790,9 +790,9 @@ ui_out::message (const char *format, ...)
 }
 
 void
-ui_out::wrap_hint (const char *identstring)
+ui_out::wrap_hint (int indent)
 {
-  do_wrap_hint (identstring);
+  do_wrap_hint (indent);
 }
 
 void
diff --git a/gdb/ui-out.h b/gdb/ui-out.h
index 05312150c21..60dd6fc2d37 100644
--- a/gdb/ui-out.h
+++ b/gdb/ui-out.h
@@ -257,7 +257,7 @@ class ui_out
   void vmessage (const ui_file_style &in_style,
 		 const char *format, va_list args) ATTRIBUTE_PRINTF (3, 0);
 
-  void wrap_hint (const char *identstring);
+  void wrap_hint (int indent);
 
   void flush ();
 
@@ -343,7 +343,7 @@ class ui_out
   virtual void do_message (const ui_file_style &style,
 			   const char *format, va_list args)
     ATTRIBUTE_PRINTF (3,0) = 0;
-  virtual void do_wrap_hint (const char *identstring) = 0;
+  virtual void do_wrap_hint (int indent) = 0;
   virtual void do_flush () = 0;
   virtual void do_redirect (struct ui_file *outstream) = 0;
 
diff --git a/gdb/utils.c b/gdb/utils.c
index 92266890de4..3a019d7d1d4 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -154,7 +154,7 @@ vwarning (const char *string, va_list args)
 	  target_terminal::ours_for_output ();
 	}
       if (filtered_printing_initialized ())
-	wrap_here ("");		/* Force out any buffered output.  */
+	wrap_here (0);		/* Force out any buffered output.  */
       gdb_flush (gdb_stdout);
       if (warning_pre_print)
 	fputs_unfiltered (warning_pre_print, gdb_stderr);
@@ -881,7 +881,7 @@ defaulted_query (const char *ctlstr, const char defchar, va_list args)
     {
       target_terminal::scoped_restore_terminal_state term_state;
       target_terminal::ours_for_output ();
-      wrap_here ("");
+      wrap_here (0);
       vfprintf_filtered (gdb_stdout, ctlstr, args);
 
       printf_filtered (_("(%s or %s) [answered %c; "
@@ -1175,9 +1175,8 @@ static bool filter_initialized = false;
    already been counted in chars_printed).  */
 static std::string wrap_buffer;
 
-/* String to indent by if the wrap occurs.  Must not be NULL if wrap_column
-   is non-zero.  */
-static const char *wrap_indent;
+/* String to indent by if the wrap occurs.  */
+static int wrap_indent;
 
 /* Column number on the screen where wrap_buffer begins, or 0 if wrapping
    is not in effect.  */
@@ -1520,12 +1519,10 @@ get_chars_per_line ()
   return chars_per_line;
 }
 
-/* Indicate that if the next sequence of characters overflows the line,
-   a newline should be inserted here rather than when it hits the end.
-   If INDENT is non-null, it is a string to be printed to indent the
-   wrapped part on the next line.  INDENT must remain accessible until
-   the next call to wrap_here() or until a newline is printed through
-   fputs_filtered().
+/* Indicate that if the next sequence of characters overflows the
+   line, a newline should be inserted here rather than when it hits
+   the end.  If INDENT is non-zero, it is a number of spaces to be
+   printed to indent the wrapped part on the next line.
 
    If the line is already overfull, we immediately print a newline and
    the indentation, and disable further wrapping.
@@ -1534,15 +1531,12 @@ get_chars_per_line ()
    we must not wrap words, but should still keep track of newlines
    that were explicitly printed.
 
-   INDENT should not contain tabs, as that will mess up the char count
-   on the next line.  FIXME.
-
    This routine is guaranteed to force out any output which has been
-   squirreled away in the wrap_buffer, so wrap_here ((char *)0) can be
+   squirreled away in the wrap_buffer, so wrap_here (0) can be
    used to force out output from the wrap_buffer.  */
 
 void
-wrap_here (const char *indent)
+wrap_here (int indent)
 {
   /* This should have been allocated, but be paranoid anyway.  */
   gdb_assert (filter_initialized);
@@ -1555,17 +1549,14 @@ wrap_here (const char *indent)
   else if (chars_printed >= chars_per_line)
     {
       puts_filtered ("\n");
-      if (indent != NULL)
-	puts_filtered (indent);
+      if (indent != 0)
+	puts_filtered (n_spaces (indent));
       wrap_column = 0;
     }
   else
     {
       wrap_column = chars_printed;
-      if (indent == NULL)
-	wrap_indent = "";
-      else
-	wrap_indent = indent;
+      wrap_indent = indent;
       wrap_style = applied_style;
     }
 }
@@ -1672,7 +1663,7 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
 		       {
 			 wrap_buffer.clear ();
 			 wrap_column = 0;
-			 wrap_indent = "";
+			 wrap_indent = 0;
 		       });
 
   /* Go through and output each character.  Show line extension
@@ -1777,7 +1768,7 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
 	      /* Now output indentation and wrapped string.  */
 	      if (wrap_column)
 		{
-		  stream->puts (wrap_indent);
+		  stream->puts (n_spaces (wrap_indent));
 
 		  /* Having finished inserting the wrapping we should
 		     restore the style as it was at the WRAP_COLUMN.  */
@@ -1791,14 +1782,9 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
 		     in WRAP_BUFFER.  */
 		  applied_style = save_style;
 
-		  /* FIXME, this strlen is what prevents wrap_indent from
-		     containing tabs.  However, if we recurse to print it
-		     and count its chars, we risk trouble if wrap_indent is
-		     longer than (the user settable) chars_per_line.
-		     Note also that this can set chars_printed > chars_per_line
+		  /* Note that this can set chars_printed > chars_per_line
 		     if we are printing a long string.  */
-		  chars_printed = strlen (wrap_indent)
-		    + (save_chars - wrap_column);
+		  chars_printed = wrap_indent + (save_chars - wrap_column);
 		  wrap_column = 0;	/* And disable fancy wrap */
 		}
 	      else if (did_paginate && stream->can_emit_style_escape ())
@@ -1809,8 +1795,8 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
       if (*lineptr == '\n')
 	{
 	  chars_printed = 0;
-	  wrap_here ((char *) 0);	/* Spit out chars, cancel
-					   further wraps.  */
+	  wrap_here (0);	/* Spit out chars, cancel
+				   further wraps.  */
 	  lines_printed++;
 	  /* XXX: The ideal thing would be to call
 	     'stream->putc' here, but we can't because it
diff --git a/gdb/utils.h b/gdb/utils.h
index 8e9c2049915..027f433f691 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -172,7 +172,7 @@ extern int yquery (const char *, ...) ATTRIBUTE_PRINTF (1, 2);
 
 extern void begin_line (void);
 
-extern void wrap_here (const char *);
+extern void wrap_here (int);
 
 extern void reinitialize_more_filter (void);
 
diff --git a/gdb/valprint.c b/gdb/valprint.c
index f80c1698ad6..1fc007f6147 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -1946,7 +1946,7 @@ value_print_array_elements (struct value *val, struct ui_file *stream,
 	  fprintf_filtered (stream, "\n");
 	  print_spaces_filtered (2 + 2 * recurse, stream);
 	}
-      wrap_here (n_spaces (2 + 2 * recurse));
+      wrap_here (2 + 2 * recurse);
       maybe_print_array_index (index_type, i + low_bound,
 			       stream, options);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-26 22:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 22:25 [binutils-gdb] Convert wrap_here to use integer parameter Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).