LONGEST lastval;
fprintf_filtered (stream, "(");
- wrap_here (" ");
+ wrap_here (1);
lastval = 0;
for (i = 0; i < len; i++)
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 ())
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
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,
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;
{
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);
}
}
else
{
- wrap_here (n_spaces (2 + 2 * recurse));
+ wrap_here (2 + 2 * recurse);
}
annotate_field_begin (type->field (i).type ());
\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;
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
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)
else if (i < nargs)
{
fprintf_filtered (stream, ", ");
- wrap_here (" ");
+ wrap_here (8);
}
}
}
if (printed_any)
{
fprintf_filtered (stream, ", ");
- wrap_here (" ");
+ wrap_here (4);
}
param_type = type->field (i).type ();
if (printed_any && type->has_varargs ())
{
fprintf_filtered (stream, ", ");
- wrap_here (" ");
+ wrap_here (4);
fprintf_filtered (stream, "...");
}
}
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 ());
}
fputs_filtered (" ", stream);
}
- wrap_here (" ");
+ wrap_here (4);
if (show < 0)
{
/* If we just printed a tag name, no need to print anything
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 ())
}
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
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;
reset_terminal_style (gdb_stdout);
/* Force this output to appear now. */
- wrap_here ("");
+ wrap_here (0);
gdb_flush (gdb_stdout);
}
continue;
fputs_filtered (", ", stream);
- wrap_here (" ");
+ wrap_here (3);
fput_command_name_styled (alias, stream);
}
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\
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);
}
else
{
- wrap_here (n_spaces (2 + 2 * recurse));
+ wrap_here (2 + 2 * recurse);
}
annotate_field_begin (type->field (i).type ());
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");
}
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");
}
/* 1. The _filtered buffer. */
if (filtered_printing_initialized ())
- wrap_here ("");
+ wrap_here (0);
/* 2. The stdio buffer. */
gdb_flush (gdb_stdout);
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 ())
{
if (i > 0)
{
fputs_filtered (", ", stream);
- wrap_here (" ");
+ wrap_here (4);
}
print_type (type->field (i).type (), "", stream, -1, 0, 0);
}
QUIT;
- wrap_here (" ");
+ wrap_here (4);
if (type == NULL)
{
fputs_styled ("<type unknown>", metadata_style.style (), stream);
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)
QUIT;
- wrap_here (" ");
+ wrap_here (4);
if (type == NULL)
{
fputs_styled (_("<type unknown>"), metadata_style.style (), stream);
if (i > 0)
{
fputs_filtered (", ", stream);
- wrap_here (" ");
+ wrap_here (4);
}
m2_print_type (type->field (i).type (), "", stream, -1, 0, flags);
}
fprintf_filtered (stream, " = ");
}
}
- wrap_here (" ");
+ wrap_here (4);
if (show < 0)
{
if (type->code () == TYPE_CODE_STRUCT)
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 ())
if (print_version)
{
print_gdb_version (gdb_stdout, false);
- wrap_here ("");
+ wrap_here (0);
printf_filtered ("\n");
exit (0);
}
if (print_configuration)
{
print_gdb_configuration (gdb_stdout);
- wrap_here ("");
+ wrap_here (0);
printf_filtered ("\n");
exit (0);
}
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. */
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. */
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);
}
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
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;
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) == )
section_type;
QUIT;
- wrap_here (" ");
+ wrap_here (4);
if (type == NULL)
{
fputs_styled ("<type unknown>", metadata_style.style (), stream);
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. */
/* 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. */
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 ())
{
}
else
{
- wrap_here (n_spaces (2 + 2 * recurse));
+ wrap_here (2 + 2 * recurse);
}
annotate_field_begin (type->field (i).type ());
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,
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;
annotate_value_end ();
- wrap_here ("");
+ wrap_here (0);
gdb_flush (gdb_stdout);
}
{
ui_printf (arg, gdb_stdout);
reset_terminal_style (gdb_stdout);
- wrap_here ("");
+ wrap_here (0);
gdb_stdout->flush ();
}
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);
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));
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,
ui_out_emit_list list_emitter (out, "args");
- out->wrap_hint (" ");
+ out->wrap_hint (3);
annotate_frame_args ();
out->text (" (");
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 (),
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)
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
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
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");
/* Print the current arg. */
if (!first)
uiout->text (", ");
- uiout->wrap_hint (" ");
+ uiout->wrap_hint (4);
if (!print_args)
{
if (arg.entry_kind != print_entry_values_only)
{
uiout->text (", ");
- uiout->wrap_hint (" ");
+ uiout->wrap_hint (4);
}
print_frame_arg (fp_opts, &entryarg);
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 (" (");
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,
if (lib)
{
annotate_frame_where ();
- uiout->wrap_hint (" ");
+ uiout->wrap_hint (2);
uiout->text (" from ");
uiout->field_string ("from", lib, file_name_style.style ());
}
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)",
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)))
}
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 ");
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));
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. */
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 ("\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",
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;
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 ());
/* 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);
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
{
struct symbol *sym;
- char wrap_indent[80];
- char extra_field_indent[80];
struct ui_out *uiout = current_uiout;
symtab_and_line sal;
!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);
}
void
-ui_out::wrap_hint (const char *identstring)
+ui_out::wrap_hint (int indent)
{
- do_wrap_hint (identstring);
+ do_wrap_hint (indent);
}
void
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 ();
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;
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);
{
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; "
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. */
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.
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);
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;
}
}
{
wrap_buffer.clear ();
wrap_column = 0;
- wrap_indent = "";
+ wrap_indent = 0;
});
/* Go through and output each character. Show line extension
/* 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. */
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 ())
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
extern void begin_line (void);
-extern void wrap_here (const char *);
+extern void wrap_here (int);
extern void reinitialize_more_filter (void);
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);