Esempio n. 1
0
cStr *dict_add_literal_to_str(cStr *str, cDict *dict, int flags)
{
    Int i;

    str = string_add_chars(str, "#[", 2);
    for (i = 0; i < dict->keys->len; i++) {
        str = string_addc(str, '[');
        str = data_add_literal_to_str(str, &dict->keys->el[i], flags);
        str = string_add_chars(str, ", ", 2);
        str = data_add_literal_to_str(str, &dict->values->el[i], flags);
        str = string_addc(str, ']');
        if (i < dict->keys->len - 1)
            str = string_add_chars(str, ", ", 2);
    }
    return string_addc(str, ']');
}
Esempio n. 2
0
cStr *string_handled (cStr *str, cData *data, int flags)
{
    HandledFrob *h = HANDLED_FROB(data);
    cData d;

    str = string_addc (str, '<');
    d.type = OBJNUM;
    d.u.objnum = h->cclass;
    str = data_add_literal_to_str(str, &d, flags);
    str = string_add_chars(str, ", ", 2);
    str = data_add_literal_to_str(str, &h->rep, flags);
    str = string_add_chars(str, ", ", 2);
    d.type = SYMBOL;
    d.u.symbol = h->handler;
    str = data_add_literal_to_str(str, &d, flags);
    return string_addc(str, '>');
}