summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-12-30 09:46:02 -0700
committerTom Tromey <tom@tromey.com>2022-01-26 15:19:13 -0700
commit6c92c339539ec87dc12783e9c8f1688a4a370c03 (patch)
tree5f3d0621646cae14436ab8e63edcf3542c236f86
parentbbea68079781ac4c2fc941867ee9888585cafb77 (diff)
downloadbinutils-gdb-6c92c339539ec87dc12783e9c8f1688a4a370c03.tar.gz
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.
-rw-r--r--gdb/ada-typeprint.c8
-rw-r--r--gdb/ada-valprint.c6
-rw-r--r--gdb/breakpoint.c15
-rw-r--r--gdb/c-typeprint.c16
-rw-r--r--gdb/cli-out.c4
-rw-r--r--gdb/cli-out.h2
-rw-r--r--gdb/cli/cli-cmds.c2
-rw-r--r--gdb/cli/cli-decode.c12
-rw-r--r--gdb/cp-valprint.c2
-rw-r--r--gdb/disasm.c4
-rw-r--r--gdb/exceptions.c2
-rw-r--r--gdb/exec.c2
-rw-r--r--gdb/f-typeprint.c4
-rw-r--r--gdb/guile/scm-pretty-print.c2
-rw-r--r--gdb/m2-typeprint.c8
-rw-r--r--gdb/main.c8
-rw-r--r--gdb/maint.c4
-rw-r--r--gdb/mi/mi-out.c4
-rw-r--r--gdb/mi/mi-out.h2
-rw-r--r--gdb/p-typeprint.c10
-rw-r--r--gdb/p-valprint.c2
-rw-r--r--gdb/printcmd.c8
-rw-r--r--gdb/psymtab.c10
-rw-r--r--gdb/python/py-framefilter.c6
-rw-r--r--gdb/python/py-prettyprint.c2
-rw-r--r--gdb/source.c10
-rw-r--r--gdb/stack.c20
-rw-r--r--gdb/symfile.c4
-rw-r--r--gdb/symmisc.c6
-rw-r--r--gdb/symtab.c2
-rw-r--r--gdb/top.c2
-rw-r--r--gdb/tracepoint.c15
-rw-r--r--gdb/ui-out.c4
-rw-r--r--gdb/ui-out.h4
-rw-r--r--gdb/utils.c52
-rw-r--r--gdb/utils.h2
-rw-r--r--gdb/valprint.c2
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)
-/* 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);