The code paths handling break insertion in MI and CLI feature undue code duplication. This patch makes extract the body of break_command_1 into separate function, makes it slightly more flexibile, and as result, both MI and CLI code paths merely forward to the new function. No regressions on x86, OK? - Volodya * breakpoint.c (break_command_really): New, copied from break_command_1. New parameters COND_STRING, THREAD PARSE_CONDITITION_AND_THREAD and PENDING_BREAK_SUPPORT. The previous FLAG parameter split into TEMPFLAG and HARDWAREFLAG. When PARSE_CONDITION_AND_THREAD is not set, duplicate the passed condition string. (struct captured_breakpoint_args): Remove (do_captured_breakpoint): Remove. (break_command_1): Relay to break_command_really. (gdb_breakpoint): Relay to break_command_really.