static void handle_user_command(Monitor *mon, const char *cmdline)

{

    QDict *qdict;

    const mon_cmd_t *cmd;



    qdict = qdict_new();



    cmd = monitor_parse_command(mon, cmdline, 0, mon->cmd_table, qdict);

    if (!cmd)

        goto out;



    if (handler_is_async(cmd)) {

        user_async_cmd_handler(mon, cmd, qdict);

    } else if (handler_is_qobject(cmd)) {

        QObject *data = NULL;



        /* XXX: ignores the error code */

        cmd->mhandler.cmd_new(mon, qdict, &data);

        assert(!monitor_has_error(mon));

        if (data) {

            cmd->user_print(mon, data);

            qobject_decref(data);

        }

    } else {

        cmd->mhandler.cmd(mon, qdict);

    }



out:

    QDECREF(qdict);

}

static void handle_user_command(Monitor *mon, const char *cmdline)

{

    QDict *qdict;

    const mon_cmd_t *cmd;



    qdict = qdict_new();



    cmd = monitor_parse_command(mon, cmdline, 0, mon->cmd_table, qdict);

    if (!cmd)

        goto out;



    if (handler_is_async(cmd)) {

        user_async_cmd_handler(mon, cmd, qdict);

    } else if (handler_is_qobject(cmd)) {

        QObject *data = NULL;



        

        cmd->mhandler.cmd_new(mon, qdict, &data);

        assert(!monitor_has_error(mon));

        if (data) {

            cmd->user_print(mon, data);

            qobject_decref(data);

        }

    } else {

        cmd->mhandler.cmd(mon, qdict);

    }



out:

    QDECREF(qdict);

}

    if (handler_is_async(cmd)) {         user_async_cmd_handler(mon, cmd, qdict);     } else if (handler_is_qobject(cmd)) {     if (handler_is_async(cmd)) {     } else {
static void FUNC_0(Monitor *VAR_0, const char *VAR_1)

{

    QDict *qdict;

    const mon_cmd_t *VAR_2;



    qdict = qdict_new();



    VAR_2 = monitor_parse_command(VAR_0, VAR_1, 0, VAR_0->cmd_table, qdict);

    if (!VAR_2)

        goto out;



    if (handler_is_async(VAR_2)) {

        user_async_cmd_handler(VAR_0, VAR_2, qdict);

    } else if (handler_is_qobject(VAR_2)) {

        QObject *data = NULL;



        

        VAR_2->mhandler.cmd_new(VAR_0, qdict, &data);

        assert(!monitor_has_error(VAR_0));

        if (data) {

            VAR_2->user_print(VAR_0, data);

            qobject_decref(data);

        }

    } else {

        VAR_2->mhandler.VAR_2(VAR_0, qdict);

    }



out:

    QDECREF(qdict);

}

static void FUNC_0(Monitor *VAR_0, const char *VAR_1)
{ QDict *qdict; const mon_cmd_t *VAR_2; qdict = qdict_new(); VAR_2 = monitor_parse_command(VAR_0, VAR_1, 0, VAR_0->cmd_table, qdict); if (!VAR_2)
goto out; if (handler_is_async(VAR_2)) { user_async_cmd_handler(VAR_0, VAR_2, qdict); } else if (handler_is_qobject(VAR_2)) { QObject *data = NULL; VAR_2->mhandler.cmd_new(VAR_0, qdict, &data); assert(!monitor_has_error(VAR_0)); if (data) { VAR_2->user_print(VAR_0, data); qobject_decref(data); } } else { VAR_2->mhandler.VAR_2(VAR_0, qdict); } out:
QDECREF(qdict); }