mirror of
https://github.com/python/cpython.git
synced 2024-12-04 15:25:13 +08:00
unpack() now returns a tuple, not a list
This commit is contained in:
parent
3af03d8f3e
commit
90ddb7b5cb
@ -317,6 +317,27 @@ struct_pack(self, args)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Helper to convert a list to a tuple */
|
||||||
|
|
||||||
|
static object *
|
||||||
|
totuple(list)
|
||||||
|
object *list;
|
||||||
|
{
|
||||||
|
int len = getlistsize(list);
|
||||||
|
object *tuple = newtupleobject(len);
|
||||||
|
if (tuple != NULL) {
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
object *v = getlistitem(list, i);
|
||||||
|
INCREF(v);
|
||||||
|
settupleitem(tuple, i, v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DECREF(list);
|
||||||
|
return tuple;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* unpack(fmt, string) --> (v1, v2, ...) */
|
/* unpack(fmt, string) --> (v1, v2, ...) */
|
||||||
|
|
||||||
static object *
|
static object *
|
||||||
@ -409,13 +430,14 @@ struct_unpack(self, args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return totuple(res);
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
DECREF(res);
|
DECREF(res);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* List of functions */
|
/* List of functions */
|
||||||
|
|
||||||
static struct methodlist struct_methods[] = {
|
static struct methodlist struct_methods[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user