array: CPython prints empty arrays inconsistently (only typecode, no []).

This commit is contained in:
Paul Sokolovsky 2014-01-28 03:14:20 +02:00
parent 0dd0467a97
commit 7e652af242

View File

@ -124,17 +124,21 @@ static void array_set_el(mp_obj_array_t *o, int index, mp_obj_t val_in) {
static void array_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in, mp_print_kind_t kind) {
mp_obj_array_t *o = o_in;
if (o->typecode == BYTEARRAY_TYPECODE) {
print(env, "bytearray([", o->typecode);
print(env, "bytearray(", o->typecode);
} else {
print(env, "array('%c', [", o->typecode);
print(env, "array('%c'", o->typecode);
}
for (int i = 0; i < o->len; i++) {
if (i > 0) {
print(env, ", ");
if (o->len > 0) {
print(env, ", [", o->typecode);
for (int i = 0; i < o->len; i++) {
if (i > 0) {
print(env, ", ");
}
print(env, "%d", array_get_el(o, i));
}
print(env, "%d", array_get_el(o, i));
print(env, "]");
}
print(env, "])");
print(env, ")");
}
static mp_obj_t array_construct(char typecode, mp_obj_t initializer) {