diff options
author | Andrew Burgess <aburgess@redhat.com> | 2023-12-13 09:44:33 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2024-03-31 11:13:09 +0100 |
commit | 437d237a547def823434dd656e5c138a2263dd5c (patch) | |
tree | 51dd67a065654d179d59db406c445ae47cbbb2c6 /gdb | |
parent | 3d42db971fc7cb0a5fe9b4526b12539019b5c27e (diff) | |
download | gdb-437d237a547def823434dd656e5c138a2263dd5c.zip gdb-437d237a547def823434dd656e5c138a2263dd5c.tar.gz gdb-437d237a547def823434dd656e5c138a2263dd5c.tar.bz2 |
gdb: the extra_string in a dprintf breakpoint is never nullptr
Given the changes in the previous couple of commits, this commit
cleans up some of the asserts and 'if' checks related to the
extra_string within a dprintf breakpoint.
This commit:
1. Adds some asserts to update_dprintf_command_list about the
breakpoint type, and that the extra_string is not nullptr,
2. Given that we know extra_string is not nullptr (this is enforced
when the breakpoint is created), we can simplify
code_breakpoint::code_breakpoint -- it no longer needs to check for
the extra_string is nullptr case,
3. In dprintf_breakpoint::re_set we can remove the assert (this will
be checked within update_dprintf_command_list, we can also remove
the redundant 'if' check.
There should be no user visible changes after this commit.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/breakpoint.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 8346c43..71c8c82 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -8526,6 +8526,9 @@ bp_loc_is_permanent (struct bp_location *loc) static void update_dprintf_command_list (struct breakpoint *b) { + gdb_assert (b->type == bp_dprintf); + gdb_assert (b->extra_string != nullptr); + const char *dprintf_args = b->extra_string.get (); gdb::unique_xmalloc_ptr<char> printf_line = nullptr; @@ -8699,12 +8702,7 @@ code_breakpoint::code_breakpoint (struct gdbarch *gdbarch_, /* Dynamic printf requires and uses additional arguments on the command line, otherwise it's an error. */ if (type == bp_dprintf) - { - if (extra_string != nullptr) - update_dprintf_command_list (this); - else - error (_("Format string required")); - } + update_dprintf_command_list (this); else if (extra_string != nullptr) error (_("Garbage '%s' at end of command"), extra_string.get ()); } @@ -12420,9 +12418,6 @@ dprintf_breakpoint::re_set () { re_set_default (); - /* extra_string should never be non-NULL for dprintf. */ - gdb_assert (extra_string != NULL); - /* 1 - connect to target 1, that can run breakpoint commands. 2 - create a dprintf, which resolves fine. 3 - disconnect from target 1 @@ -12433,8 +12428,7 @@ dprintf_breakpoint::re_set () answers for target_can_run_breakpoint_commands(). Given absence of finer grained resetting, we get to do it all the time. */ - if (extra_string != NULL) - update_dprintf_command_list (this); + update_dprintf_command_list (this); } /* Implement the "print_recreate" method for dprintf. */ |