*_cmd = NULL;
+ smtp_client_command_drop_callback(cmd);
+
if ((!disconnected && !cmd->plug && cmd->aborting) ||
state >= SMTP_CLIENT_COMMAND_STATE_FINISHED)
return;
i_assert(state < SMTP_CLIENT_COMMAND_STATE_FINISHED);
cmd->aborting = TRUE;
}
- cmd->callback = NULL;
cmd->locked = FALSE;
i_assert(!cmd->plug || state <= SMTP_CLIENT_COMMAND_STATE_SUBMITTED);
cmd->callback(reply, cmd->context);
if (finished) {
+ smtp_client_command_drop_callback(cmd);
smtp_client_command_unref(&cmd);
smtp_client_connection_trigger_output(conn);
}