Convert wrap_here to use integer parameter
authorTom Tromey <tom@tromey.com>
Thu, 30 Dec 2021 16:46:02 +0000 (09:46 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 26 Jan 2022 22:19:13 +0000 (15:19 -0700)
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.

37 files changed:
gdb/ada-typeprint.c
gdb/ada-valprint.c
gdb/breakpoint.c
gdb/c-typeprint.c
gdb/cli-out.c
gdb/cli-out.h
gdb/cli/cli-cmds.c
gdb/cli/cli-decode.c
gdb/cp-valprint.c
gdb/disasm.c
gdb/exceptions.c
gdb/exec.c
gdb/f-typeprint.c
gdb/guile/scm-pretty-print.c
gdb/m2-typeprint.c
gdb/main.c
gdb/maint.c
gdb/mi/mi-out.c
gdb/mi/mi-out.h
gdb/p-typeprint.c
gdb/p-valprint.c
gdb/printcmd.c
gdb/psymtab.c
gdb/python/py-framefilter.c
gdb/python/py-prettyprint.c
gdb/source.c
gdb/stack.c
gdb/symfile.c
gdb/symmisc.c
gdb/symtab.c
gdb/top.c
gdb/tracepoint.c
gdb/ui-out.c
gdb/ui-out.h
gdb/utils.c
gdb/utils.h
gdb/valprint.c

index 30fe1072cf7ef7b93ce2b878ed50e03864edf1eb..c6a3867d53fc96ccf0641c217bcae29986a1b6ab 100644 (file)
@@ -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,
index 70e46965c17597bfcd30aa5a6721113bf264df16..352568d80459865595c29229c690b2f264e2ae20 100644 (file)
@@ -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 ());
index 914f945714e7f8d1b7bc19afc2e82f8bba6629d7..9567c737cabfdd9ded46630f18c93348ff5740b5 100644 (file)
@@ -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
index 81fc82ec2637a60c957378f4b12996b5483cb9e6..d20b71124aeac768fa6168a17b3a5a79d190af53 100644 (file)
@@ -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 ())
index 5ff645b4a835a41314166d36510f6860e65e7ead..925ba8a73690baf49e7b49b427926ee85e3bd39f 100644 (file)
@@ -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
index 4af5524495aef0feeffb464b632eaa768ac8f6b2..3fc794b61a403572d002ba7d0d0f4786826a4848 100644 (file)
@@ -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;
 
index 563f29067c335bf221004c0e90ad2aa354c725fd..943d4db94de9764505ee0c46ef9d12de4cbebe91 100644 (file)
@@ -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);
 }
 
index a71350ba68b2c0a22b5ad6fe97d105f41d9deca7..24c80dc7bd50fd29b84aa9cfe62af16c5bfdc08b 100644 (file)
@@ -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);
index 1d98eb58214d30313eefe44ac12028ae6756cdbc..3b0e1df7a1fe9aafe3d0136f8f354d3870222aa7 100644 (file)
@@ -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 ());
index 724040faa9267628f7ae25c8b4cffe26fa187fed..46aa995a9d5924e99538c629691d633f58e82d30 100644 (file)
@@ -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");
        }
index 87a8dc26a5141876eff68cf1751bda1fd977ae98..404cd4c403854c7ef36d64d3d5faf6de3d840c3b 100644 (file)
@@ -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);
index d9854d50f7869efcc201253b5eb6d1f68d04dcfa..c4161b58e733f2f0637fda1655532de7a5884116 100644 (file)
@@ -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 ())
     {
index 0a338c11cbcdb1a8caf0d0a1bbdce396f6dc2e35..3e419a74a9fce79c2d8ce841b55956ea4ab9817c 100644 (file)
@@ -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);
index 77f9b0ab7f88d98385369e61206f6a591e171703..814a7e7a4bc37cde686677d4514b31b5dd3f7239 100644 (file)
@@ -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)
index f929ab4df3ce90dfdb2f9694b6139e6ec99789d7..cbb6b545d4f7ce41f8e9dfa6c0e83c91270fcbd7 100644 (file)
@@ -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 ())
index 278b901c76803be7d12ca6e98217058b11a207f9..6b312f85f2bf2fda5f46617aec10a5e92f18e3fa 100644 (file)
@@ -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.  */
index 7e84b60fea09e29a599d8418221f417860954485..49e62292324e21824f59853c4b09a726f5f84ef4 100644 (file)
@@ -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);
index 20c6f0f9194bc96db8cf2d5f2003a0c3872869ae..72ae36dd4183fe348f2dd7f7918b8bc8aa062d34 100644 (file)
@@ -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
index 1b7fa96a18297ceb6e5479c97cc980ca3b2b964d..8f2f2d82ec0af243653c75103c5e1c4d018077ad 100644 (file)
@@ -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;
 
index 3450836996dc796a7ddd0a7fe30319ffae734f23..a105d297bc40b8cc3a30a165e680bb8ac4c98035 100644 (file)
@@ -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 ())
                {
index e0c3868991b9c1a82206bdcc32c65a7fece1e405..2019a1d40df120d59b1bf74ec34484483e03f3f1 100644 (file)
@@ -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 ());
index fdbe72be83cf24ac1c357309496f4810716a1bc8..e1444ac1c83caaa1c462c160ebdca25713ea6269 100644 (file)
@@ -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 ();
 }
 
index 0e9e822996cfb78f726af3c6be639de5973a5a38..11063bd597510fa35dbb08d6fe9ff41ddedde61c 100644 (file)
@@ -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));
 
index 7870374b3ec06079d1546dd277897cdc4b21a755..708fcc535e20dec92380c2c57d1b0a171b6b9551 100644 (file)
@@ -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 (),
index df4857fef117f0a247f0db2ea14a0c8c7985cf3b..59c311c9b664d8e0c80ce6338cbfb7fb280373af 100644 (file)
@@ -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)
index 9cfc18b811598c0b0a78a36fbb77413ac3b51e35..2b0a5c9b4078da7755e1f1aef8274364ed8781dd 100644 (file)
@@ -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");
index 7a2d7da2c89cc2ace3cf00dd38aa2bdb019c353a..6c3707f1b87e23d25562d3d9a36da4e4c762106d 100644 (file)
@@ -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));
index 315ee8ecec770c8b01ceb0a5ed2eb7541eeb98a4..f0a7c7f7c5a7e22d9ff827999aa554e961245677 100644 (file)
@@ -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.  */
index 2f4a076c352b317d6a94e93320a5e7195a53db5b..65b06c4030f13f0b9301affe0bf199fc1762b79d 100644 (file)
@@ -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;
index 9fc96d7baa189e28eb4c7e05beac13041e78c4f3..d0cda253bf2fed60c63e59e4daac18a700534e2c 100644 (file)
@@ -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 ());
index 9164cad0a6a2e154c4ba25439870cc98deb5f089..46983d1fb6f0b8b95a1c72fbb93976f1499d947c 100644 (file)
--- 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);
 
index c015a8c58bec3c867f9b508aedc868d9174d9c55..016bce0bf9b6c132004c20b74309039a8100c84e 100644 (file)
@@ -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);
 
index 05d3515aa9aa53ef9ad059aff75c31d367fe83d6..e34e40fae762efaff3980dccd110ce1e254180b8 100644 (file)
@@ -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
index 05312150c21d6b776ad9c878ff5560b0504dc56b..60dd6fc2d37a6439a49d22437c7ba64c4d681651 100644 (file)
@@ -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;
 
index 92266890de4d2c1903b7958a1696be4e21c9b24a..3a019d7d1d443015e50f32e1db2d67de86b1f38a 100644 (file)
@@ -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
index 8e9c20499152fabe6a3402c716d3ea0866d19a02..027f433f69133f8f11b15f7ea228205de5dd9493 100644 (file)
@@ -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);
 
index f80c1698ad690efd9df5c2dc3abe1fffcdedd3d8..1fc007f6147878a3a935edb3a4d739eecfbd7533 100644 (file)
@@ -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);