mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-06 23:53:12 +00:00
Make ui_out::do_progress_end 'private'
I noticed that ui_out::do_progress_end is public, just to support one use in debuginfod-support.c. This patch makes it private, updates progress_info to call it from its destructor, and finally changes debuginfod-support.c to follow.
This commit is contained in:
@@ -261,16 +261,13 @@ debuginfod_is_enabled ()
|
|||||||
/* Print the result of the most recent attempted download. */
|
/* Print the result of the most recent attempted download. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_outcome (user_data &data, int fd)
|
print_outcome (int fd, const char *desc, const char *fname)
|
||||||
{
|
{
|
||||||
/* Clears the current line of progress output. */
|
|
||||||
current_uiout->do_progress_end ();
|
|
||||||
|
|
||||||
if (fd < 0 && fd != -ENOENT)
|
if (fd < 0 && fd != -ENOENT)
|
||||||
gdb_printf (_("Download failed: %s. Continuing without %s %ps.\n"),
|
gdb_printf (_("Download failed: %s. Continuing without %s %ps.\n"),
|
||||||
safe_strerror (-fd),
|
safe_strerror (-fd),
|
||||||
data.desc,
|
desc,
|
||||||
styled_string (file_name_style.style (), data.fname));
|
styled_string (file_name_style.style (), fname));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See debuginfod-support.h */
|
/* See debuginfod-support.h */
|
||||||
@@ -290,23 +287,28 @@ debuginfod_source_query (const unsigned char *build_id,
|
|||||||
return scoped_fd (-ENOMEM);
|
return scoped_fd (-ENOMEM);
|
||||||
|
|
||||||
char *dname = nullptr;
|
char *dname = nullptr;
|
||||||
|
scoped_fd fd;
|
||||||
|
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
||||||
|
|
||||||
|
{
|
||||||
user_data data ("source file", srcpath);
|
user_data data ("source file", srcpath);
|
||||||
|
|
||||||
debuginfod_set_user_data (c, &data);
|
debuginfod_set_user_data (c, &data);
|
||||||
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
|
||||||
if (target_supports_terminal_ours ())
|
if (target_supports_terminal_ours ())
|
||||||
{
|
{
|
||||||
term_state.emplace ();
|
term_state.emplace ();
|
||||||
target_terminal::ours ();
|
target_terminal::ours ();
|
||||||
}
|
}
|
||||||
|
|
||||||
scoped_fd fd (debuginfod_find_source (c,
|
fd = scoped_fd (debuginfod_find_source (c,
|
||||||
build_id,
|
build_id,
|
||||||
build_id_len,
|
build_id_len,
|
||||||
srcpath,
|
srcpath,
|
||||||
&dname));
|
&dname));
|
||||||
debuginfod_set_user_data (c, nullptr);
|
debuginfod_set_user_data (c, nullptr);
|
||||||
print_outcome (data, fd.get ());
|
}
|
||||||
|
|
||||||
|
print_outcome (fd.get (), "source file", srcpath);
|
||||||
|
|
||||||
if (fd.get () >= 0)
|
if (fd.get () >= 0)
|
||||||
destname->reset (dname);
|
destname->reset (dname);
|
||||||
@@ -331,20 +333,25 @@ debuginfod_debuginfo_query (const unsigned char *build_id,
|
|||||||
return scoped_fd (-ENOMEM);
|
return scoped_fd (-ENOMEM);
|
||||||
|
|
||||||
char *dname = nullptr;
|
char *dname = nullptr;
|
||||||
|
scoped_fd fd;
|
||||||
|
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
||||||
|
|
||||||
|
{
|
||||||
user_data data ("separate debug info for", filename);
|
user_data data ("separate debug info for", filename);
|
||||||
|
|
||||||
debuginfod_set_user_data (c, &data);
|
debuginfod_set_user_data (c, &data);
|
||||||
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
|
||||||
if (target_supports_terminal_ours ())
|
if (target_supports_terminal_ours ())
|
||||||
{
|
{
|
||||||
term_state.emplace ();
|
term_state.emplace ();
|
||||||
target_terminal::ours ();
|
target_terminal::ours ();
|
||||||
}
|
}
|
||||||
|
|
||||||
scoped_fd fd (debuginfod_find_debuginfo (c, build_id, build_id_len,
|
fd = scoped_fd (debuginfod_find_debuginfo (c, build_id, build_id_len,
|
||||||
&dname));
|
&dname));
|
||||||
debuginfod_set_user_data (c, nullptr);
|
debuginfod_set_user_data (c, nullptr);
|
||||||
print_outcome (data, fd.get ());
|
}
|
||||||
|
|
||||||
|
print_outcome (fd.get (), "separate debug info for", filename);
|
||||||
|
|
||||||
if (fd.get () >= 0)
|
if (fd.get () >= 0)
|
||||||
destname->reset (dname);
|
destname->reset (dname);
|
||||||
@@ -369,19 +376,25 @@ debuginfod_exec_query (const unsigned char *build_id,
|
|||||||
return scoped_fd (-ENOMEM);
|
return scoped_fd (-ENOMEM);
|
||||||
|
|
||||||
char *dname = nullptr;
|
char *dname = nullptr;
|
||||||
|
scoped_fd fd;
|
||||||
|
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
||||||
|
|
||||||
|
{
|
||||||
user_data data ("executable for", filename);
|
user_data data ("executable for", filename);
|
||||||
|
|
||||||
debuginfod_set_user_data (c, &data);
|
debuginfod_set_user_data (c, &data);
|
||||||
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
|
|
||||||
if (target_supports_terminal_ours ())
|
if (target_supports_terminal_ours ())
|
||||||
{
|
{
|
||||||
term_state.emplace ();
|
term_state.emplace ();
|
||||||
target_terminal::ours ();
|
target_terminal::ours ();
|
||||||
}
|
}
|
||||||
|
|
||||||
scoped_fd fd (debuginfod_find_executable (c, build_id, build_id_len, &dname));
|
fd = scoped_fd (debuginfod_find_executable (c, build_id, build_id_len,
|
||||||
|
&dname));
|
||||||
debuginfod_set_user_data (c, nullptr);
|
debuginfod_set_user_data (c, nullptr);
|
||||||
print_outcome (data, fd.get ());
|
}
|
||||||
|
|
||||||
|
print_outcome (fd.get (), "executable for", filename);
|
||||||
|
|
||||||
if (fd.get () >= 0)
|
if (fd.get () >= 0)
|
||||||
destname->reset (dname);
|
destname->reset (dname);
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ class ui_out
|
|||||||
|
|
||||||
~progress_update ()
|
~progress_update ()
|
||||||
{
|
{
|
||||||
|
m_uiout->do_progress_end ();
|
||||||
}
|
}
|
||||||
|
|
||||||
progress_update (const progress_update &) = delete;
|
progress_update (const progress_update &) = delete;
|
||||||
@@ -321,14 +321,13 @@ class ui_out
|
|||||||
{
|
{
|
||||||
m_uiout->do_progress_notify (msg, "", -1, -1);
|
m_uiout->do_progress_notify (msg, "", -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
struct ui_out *m_uiout;
|
struct ui_out *m_uiout;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void do_progress_end () = 0;
|
protected:
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
virtual void do_table_begin (int nbrofcols, int nr_rows, const char *tblid)
|
virtual void do_table_begin (int nbrofcols, int nr_rows, const char *tblid)
|
||||||
= 0;
|
= 0;
|
||||||
@@ -365,6 +364,7 @@ class ui_out
|
|||||||
virtual void do_progress_start () = 0;
|
virtual void do_progress_start () = 0;
|
||||||
virtual void do_progress_notify (const std::string &, const char *,
|
virtual void do_progress_notify (const std::string &, const char *,
|
||||||
double, double) = 0;
|
double, double) = 0;
|
||||||
|
virtual void do_progress_end () = 0;
|
||||||
|
|
||||||
/* Set as not MI-like by default. It is overridden in subclasses if
|
/* Set as not MI-like by default. It is overridden in subclasses if
|
||||||
necessary. */
|
necessary. */
|
||||||
|
|||||||
Reference in New Issue
Block a user