This commit is contained in:
Alexei Romanoff 2012-10-12 12:32:32 +03:00
parent d5f99959cc
commit 89ce16df39
2 changed files with 4 additions and 1 deletions

View file

@ -207,6 +207,9 @@ static inline int template_callback_map_end(unpack_user* u, msgpack_unpack_objec
{ {
if (u->object_hook) { if (u->object_hook) {
PyObject *new_c = PyEval_CallFunction(u->object_hook, "(O)", *c); PyObject *new_c = PyEval_CallFunction(u->object_hook, "(O)", *c);
if (!new_c)
return -1;
Py_DECREF(*c); Py_DECREF(*c);
*c = new_c; *c = new_c;
} }

View file

@ -361,7 +361,7 @@ _push:
if(construct_cb(_map_item)(user, c->count, &c->obj, c->map_key, obj) < 0) { goto _failed; } if(construct_cb(_map_item)(user, c->count, &c->obj, c->map_key, obj) < 0) { goto _failed; }
if(++c->count == c->size) { if(++c->count == c->size) {
obj = c->obj; obj = c->obj;
construct_cb(_map_end)(user, &obj); if (construct_cb(_map_end)(user, &obj) < 0) { goto _failed; }
--top; --top;
/*printf("stack pop %d\n", top);*/ /*printf("stack pop %d\n", top);*/
goto _push; goto _push;