+2013-05-30 Tom Tromey <tromey@redhat.com>
+
+ * cli/cli-script.c (read_command_lines_1): Use a null cleanup
+ for 'old_chain'. Do not check 'head' before processing
+ cleanups.
+
2013-05-30 Tom Tromey <tromey@redhat.com>
* mi/mi-cmd-stack.c (list_arg_or_local): Remove
void (*validator)(char *, void *), void *closure)
{
struct command_line *head, *tail, *next;
- struct cleanup *old_chain;
+ struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
enum command_control_type ret;
enum misc_command_type val;
control_level = 0;
head = tail = NULL;
- old_chain = NULL;
while (1)
{
else
{
head = next;
- old_chain = make_cleanup_free_command_lines (&head);
+ make_cleanup_free_command_lines (&head);
}
tail = next;
}
dont_repeat ();
- if (head)
- {
- if (ret != invalid_control)
- {
- discard_cleanups (old_chain);
- }
- else
- do_cleanups (old_chain);
- }
+ if (ret != invalid_control)
+ discard_cleanups (old_chain);
+ else
+ do_cleanups (old_chain);
return head;
}