diff options
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index cbb150f..03719d4 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -9557,7 +9557,18 @@ create_breakpoint (struct gdbarch *gdbarch, init_raw_breakpoint_without_location (b, gdbarch, type_wanted, ops); b->addr_string = copy_arg; - b->cond_string = NULL; + if (parse_condition_and_thread) + b->cond_string = NULL; + else + { + /* Create a private copy of condition string. */ + if (cond_string) + { + cond_string = xstrdup (cond_string); + make_cleanup (xfree, cond_string); + } + b->cond_string = cond_string; + } b->extra_string = NULL; b->ignore_count = ignore_count; b->disposition = tempflag ? disp_del : disp_donttouch; |