[bsc-nat] ctrlif: save ourselves one level of indentation

This commit is contained in:
Harald Welte 2011-07-13 14:47:34 +02:00
parent 6552047d44
commit f071e16f23
1 changed files with 30 additions and 32 deletions

View File

@ -1203,40 +1203,38 @@ static int handle_ctrlif_msg(struct bsc_connection *bsc, struct msgb *msg)
goto err; goto err;
} }
if (bsc->cfg) { if (bsc->cfg && !llist_empty(&bsc->cfg->lac_list)) {
if (!llist_empty(&bsc->cfg->lac_list)) { if (cmd->variable) {
if (cmd->variable) { var = talloc_asprintf(cmd, "bsc.%i.%s", ((struct bsc_lac_entry *)bsc->cfg->lac_list.next)->lac,
var = talloc_asprintf(cmd, "bsc.%i.%s", ((struct bsc_lac_entry *)bsc->cfg->lac_list.next)->lac, cmd->variable);
cmd->variable); if (!var) {
if (!var) { cmd->type = CTRL_TYPE_ERROR;
cmd->type = CTRL_TYPE_ERROR; cmd->reply = "OOM";
cmd->reply = "OOM"; goto err;
goto err;
}
talloc_free(cmd->variable);
cmd->variable = var;
} }
talloc_free(cmd->variable);
cmd->variable = var;
}
/* Find the pending command */ /* Find the pending command */
pending = bsc_get_pending(bsc, cmd->id); pending = bsc_get_pending(bsc, cmd->id);
if (pending) { if (pending) {
id = talloc_strdup(cmd, pending->cmd->id); id = talloc_strdup(cmd, pending->cmd->id);
if (!id) { if (!id) {
cmd->type = CTRL_TYPE_ERROR; cmd->type = CTRL_TYPE_ERROR;
cmd->reply = "OOM"; cmd->reply = "OOM";
goto err; goto err;
} }
cmd->id = id; cmd->id = id;
ctrl_cmd_send(&pending->ccon->write_queue, cmd); ctrl_cmd_send(&pending->ccon->write_queue, cmd);
bsc_del_pending(pending); bsc_del_pending(pending);
} else { } else {
/* We need to handle TRAPS here */ /* We need to handle TRAPS here */
if ((cmd->type != CTRL_TYPE_ERROR) && (cmd->type != CTRL_TYPE_TRAP)) { if ((cmd->type != CTRL_TYPE_ERROR) && (cmd->type != CTRL_TYPE_TRAP)) {
LOGP(DNAT, LOGL_NOTICE, "Got control message from BSC without pending entry\n"); LOGP(DNAT, LOGL_NOTICE, "Got control message from BSC without pending entry\n");
cmd->type = CTRL_TYPE_ERROR; cmd->type = CTRL_TYPE_ERROR;
cmd->reply = "No request outstanding"; cmd->reply = "No request outstanding";
goto err; goto err;
}
} }
} }
} }