static const char *full_name(QObjectInputVisitor *qiv, const char *name)

{

    StackObject *so;

    char buf[32];



    if (qiv->errname) {

        g_string_truncate(qiv->errname, 0);

    } else {

        qiv->errname = g_string_new("");

    }



    QSLIST_FOREACH(so , &qiv->stack, node) {

        if (qobject_type(so->obj) == QTYPE_QDICT) {

            g_string_prepend(qiv->errname, name);

            g_string_prepend_c(qiv->errname, '.');

        } else {

            snprintf(buf, sizeof(buf), "[%u]", so->index);

            g_string_prepend(qiv->errname, buf);

        }

        name = so->name;

    }



    if (name) {

        g_string_prepend(qiv->errname, name);

    } else if (qiv->errname->str[0] == '.') {

        g_string_erase(qiv->errname, 0, 1);

    } else {

        return "<anonymous>";

    }



    return qiv->errname->str;

}

static const char *full_name(QObjectInputVisitor *qiv, const char *name)

{

    StackObject *so;

    char buf[32];



    if (qiv->errname) {

        g_string_truncate(qiv->errname, 0);

    } else {

        qiv->errname = g_string_new("");

    }



    QSLIST_FOREACH(so , &qiv->stack, node) {

        if (qobject_type(so->obj) == QTYPE_QDICT) {

            g_string_prepend(qiv->errname, name);

            g_string_prepend_c(qiv->errname, '.');

        } else {

            snprintf(buf, sizeof(buf), "[%u]", so->index);

            g_string_prepend(qiv->errname, buf);

        }

        name = so->name;

    }



    if (name) {

        g_string_prepend(qiv->errname, name);

    } else if (qiv->errname->str[0] == '.') {

        g_string_erase(qiv->errname, 0, 1);

    } else {

        return "<anonymous>";

    }



    return qiv->errname->str;

}

static const char *FUNC_0(QObjectInputVisitor *VAR_0, const char *VAR_1)

{

    StackObject *so;

    char VAR_2[32];



    if (VAR_0->errname) {

        g_string_truncate(VAR_0->errname, 0);

    } else {

        VAR_0->errname = g_string_new("");

    }



    QSLIST_FOREACH(so , &VAR_0->stack, node) {

        if (qobject_type(so->obj) == QTYPE_QDICT) {

            g_string_prepend(VAR_0->errname, VAR_1);

            g_string_prepend_c(VAR_0->errname, '.');

        } else {

            snprintf(VAR_2, sizeof(VAR_2), "[%u]", so->index);

            g_string_prepend(VAR_0->errname, VAR_2);

        }

        VAR_1 = so->VAR_1;

    }



    if (VAR_1) {

        g_string_prepend(VAR_0->errname, VAR_1);

    } else if (VAR_0->errname->str[0] == '.') {

        g_string_erase(VAR_0->errname, 0, 1);

    } else {

        return "<anonymous>";

    }



    return VAR_0->errname->str;

}

static const char *FUNC_0(QObjectInputVisitor *VAR_0, const char *VAR_1)
{ StackObject *so; char VAR_2[32]; if (VAR_0->errname) { g_string_truncate(VAR_0->errname, 0); } else { VAR_0->errname = g_string_new(""); } QSLIST_FOREACH(so , &VAR_0->stack, node) { if (qobject_type(so->obj) == QTYPE_QDICT) { g_string_prepend(VAR_0->errname, VAR_1); g_string_prepend_c(VAR_0->errname, '.'); } else { snprintf(VAR_2, sizeof(VAR_2), "[%u]", so->index); g_string_prepend(VAR_0->errname, VAR_2); } VAR_1 = so->VAR_1; } if (VAR_1) { g_string_prepend(VAR_0->errname, VAR_1); } else if (VAR_0->errname->str[0] == '.') { g_string_erase(VAR_0->errname, 0, 1); } else { return "<anonymous>"; } return VAR_0->errname->str; }