mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-22 16:33:49 +01:00
Fix can't pack float values.
This commit is contained in:
parent
6184e17a42
commit
4d6e9ffaa2
212
python/msgpack.c
212
python/msgpack.c
@ -1,4 +1,4 @@
|
||||
/* Generated by Cython 0.11.2 on Tue Jun 9 13:10:11 2009 */
|
||||
/* Generated by Cython 0.11.2 on Tue Jun 16 01:57:05 2009 */
|
||||
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
#include "Python.h"
|
||||
@ -800,13 +800,14 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
int __pyx_t_1;
|
||||
PyObject *__pyx_t_2 = NULL;
|
||||
PY_LONG_LONG __pyx_t_3;
|
||||
char *__pyx_t_4;
|
||||
Py_ssize_t __pyx_t_5;
|
||||
PyObject *__pyx_t_6 = NULL;
|
||||
double __pyx_t_4;
|
||||
char *__pyx_t_5;
|
||||
Py_ssize_t __pyx_t_6;
|
||||
PyObject *__pyx_t_7 = NULL;
|
||||
PyObject *__pyx_t_8 = NULL;
|
||||
int __pyx_t_9;
|
||||
PyObject *__pyx_t_9 = NULL;
|
||||
int __pyx_t_10;
|
||||
int __pyx_t_11;
|
||||
__Pyx_SetupRefcountContext("__pack");
|
||||
__Pyx_INCREF(__pyx_v_o);
|
||||
__pyx_v_k = Py_None; __Pyx_INCREF(Py_None);
|
||||
@ -937,7 +938,7 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* intval = o
|
||||
* msgpack_pack_long_long(&self.pk, intval) # <<<<<<<<<<<<<<
|
||||
* elif isinstance(o, float):
|
||||
* fval = 9
|
||||
* fval = o
|
||||
*/
|
||||
msgpack_pack_long_long((&__pyx_v_self->pk), __pyx_v_intval);
|
||||
goto __pyx_L3;
|
||||
@ -947,7 +948,7 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* intval = o
|
||||
* msgpack_pack_long_long(&self.pk, intval)
|
||||
* elif isinstance(o, float): # <<<<<<<<<<<<<<
|
||||
* fval = 9
|
||||
* fval = o
|
||||
* msgpack_pack_double(&self.pk, fval)
|
||||
*/
|
||||
__pyx_t_1 = PyObject_TypeCheck(__pyx_v_o, ((PyTypeObject *)((PyObject*)&PyFloat_Type)));
|
||||
@ -956,15 +957,16 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":121
|
||||
* msgpack_pack_long_long(&self.pk, intval)
|
||||
* elif isinstance(o, float):
|
||||
* fval = 9 # <<<<<<<<<<<<<<
|
||||
* fval = o # <<<<<<<<<<<<<<
|
||||
* msgpack_pack_double(&self.pk, fval)
|
||||
* elif isinstance(o, str):
|
||||
*/
|
||||
__pyx_v_fval = 9;
|
||||
__pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_o); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_v_fval = __pyx_t_4;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":122
|
||||
* elif isinstance(o, float):
|
||||
* fval = 9
|
||||
* fval = o
|
||||
* msgpack_pack_double(&self.pk, fval) # <<<<<<<<<<<<<<
|
||||
* elif isinstance(o, str):
|
||||
* rawval = o
|
||||
@ -974,7 +976,7 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
}
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":123
|
||||
* fval = 9
|
||||
* fval = o
|
||||
* msgpack_pack_double(&self.pk, fval)
|
||||
* elif isinstance(o, str): # <<<<<<<<<<<<<<
|
||||
* rawval = o
|
||||
@ -990,8 +992,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* msgpack_pack_raw(&self.pk, len(o))
|
||||
* msgpack_pack_raw_body(&self.pk, rawval, len(o))
|
||||
*/
|
||||
__pyx_t_4 = __Pyx_PyBytes_AsString(__pyx_v_o); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_v_rawval = __pyx_t_4;
|
||||
__pyx_t_5 = __Pyx_PyBytes_AsString(__pyx_v_o); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_v_rawval = __pyx_t_5;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":125
|
||||
* elif isinstance(o, str):
|
||||
@ -1000,8 +1002,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* msgpack_pack_raw_body(&self.pk, rawval, len(o))
|
||||
* elif isinstance(o, unicode):
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw((&__pyx_v_self->pk), __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw((&__pyx_v_self->pk), __pyx_t_6);
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":126
|
||||
* rawval = o
|
||||
@ -1010,8 +1012,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* elif isinstance(o, unicode):
|
||||
* o = o.encode('utf-8')
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw_body((&__pyx_v_self->pk), __pyx_v_rawval, __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw_body((&__pyx_v_self->pk), __pyx_v_rawval, __pyx_t_6);
|
||||
goto __pyx_L3;
|
||||
}
|
||||
|
||||
@ -1034,18 +1036,18 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
*/
|
||||
__pyx_t_2 = PyObject_GetAttr(__pyx_v_o, __pyx_kp_encode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_2);
|
||||
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_6));
|
||||
__pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_7));
|
||||
__Pyx_INCREF(__pyx_kp_3);
|
||||
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_3);
|
||||
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_3);
|
||||
__Pyx_GIVEREF(__pyx_kp_3);
|
||||
__pyx_t_7 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_8 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(__pyx_v_o);
|
||||
__pyx_v_o = __pyx_t_7;
|
||||
__pyx_t_7 = 0;
|
||||
__pyx_v_o = __pyx_t_8;
|
||||
__pyx_t_8 = 0;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":129
|
||||
* elif isinstance(o, unicode):
|
||||
@ -1054,8 +1056,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* msgpack_pack_raw(&self.pk, len(o))
|
||||
* msgpack_pack_raw_body(&self.pk, rawval, len(o))
|
||||
*/
|
||||
__pyx_t_4 = __Pyx_PyBytes_AsString(__pyx_v_o); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_v_rawval = __pyx_t_4;
|
||||
__pyx_t_5 = __Pyx_PyBytes_AsString(__pyx_v_o); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_v_rawval = __pyx_t_5;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":130
|
||||
* o = o.encode('utf-8')
|
||||
@ -1064,8 +1066,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* msgpack_pack_raw_body(&self.pk, rawval, len(o))
|
||||
* elif isinstance(o, dict):
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw((&__pyx_v_self->pk), __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw((&__pyx_v_self->pk), __pyx_t_6);
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":131
|
||||
* rawval = o
|
||||
@ -1074,8 +1076,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* elif isinstance(o, dict):
|
||||
* msgpack_pack_map(&self.pk, len(o))
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw_body((&__pyx_v_self->pk), __pyx_v_rawval, __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_raw_body((&__pyx_v_self->pk), __pyx_v_rawval, __pyx_t_6);
|
||||
goto __pyx_L3;
|
||||
}
|
||||
|
||||
@ -1096,8 +1098,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* for k,v in o.iteritems():
|
||||
* self.pack(k)
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_map((&__pyx_v_self->pk), __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_map((&__pyx_v_self->pk), __pyx_t_6);
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":134
|
||||
* elif isinstance(o, dict):
|
||||
@ -1106,38 +1108,38 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* self.pack(k)
|
||||
* self.pack(v)
|
||||
*/
|
||||
__pyx_t_7 = PyObject_GetAttr(__pyx_v_o, __pyx_kp_iteritems); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_t_8 = PyObject_GetAttr(__pyx_v_o, __pyx_kp_iteritems); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__pyx_t_7 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_6 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
if (PyList_CheckExact(__pyx_t_6) || PyTuple_CheckExact(__pyx_t_6)) {
|
||||
__pyx_t_5 = 0; __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
if (PyList_CheckExact(__pyx_t_7) || PyTuple_CheckExact(__pyx_t_7)) {
|
||||
__pyx_t_6 = 0; __pyx_t_8 = __pyx_t_7; __Pyx_INCREF(__pyx_t_8);
|
||||
} else {
|
||||
__pyx_t_5 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
}
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
for (;;) {
|
||||
if (likely(PyList_CheckExact(__pyx_t_7))) {
|
||||
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_7)) break;
|
||||
__pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++;
|
||||
} else if (likely(PyTuple_CheckExact(__pyx_t_7))) {
|
||||
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
|
||||
__pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++;
|
||||
if (likely(PyList_CheckExact(__pyx_t_8))) {
|
||||
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
|
||||
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
|
||||
} else if (likely(PyTuple_CheckExact(__pyx_t_8))) {
|
||||
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
|
||||
__pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
|
||||
} else {
|
||||
__pyx_t_6 = PyIter_Next(__pyx_t_7);
|
||||
if (!__pyx_t_6) {
|
||||
__pyx_t_7 = PyIter_Next(__pyx_t_8);
|
||||
if (!__pyx_t_7) {
|
||||
if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
break;
|
||||
}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
}
|
||||
if (PyTuple_CheckExact(__pyx_t_6) && likely(PyTuple_GET_SIZE(__pyx_t_6) == 2)) {
|
||||
PyObject* tuple = __pyx_t_6;
|
||||
if (PyTuple_CheckExact(__pyx_t_7) && likely(PyTuple_GET_SIZE(__pyx_t_7) == 2)) {
|
||||
PyObject* tuple = __pyx_t_7;
|
||||
__pyx_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_2);
|
||||
__pyx_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_3);
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(__pyx_v_k);
|
||||
__pyx_v_k = __pyx_2;
|
||||
__pyx_2 = 0;
|
||||
@ -1145,9 +1147,9 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
__pyx_v_v = __pyx_3;
|
||||
__pyx_3 = 0;
|
||||
} else {
|
||||
__pyx_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__pyx_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_1);
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__pyx_2 = __Pyx_UnpackItem(__pyx_1, 0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_2);
|
||||
__pyx_3 = __Pyx_UnpackItem(__pyx_1, 1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
@ -1169,18 +1171,18 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* self.pack(v)
|
||||
* elif isinstance(o, tuple) or isinstance(o, list):
|
||||
*/
|
||||
__pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__pyx_t_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
|
||||
__Pyx_INCREF(__pyx_v_k);
|
||||
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_k);
|
||||
__Pyx_GIVEREF(__pyx_v_k);
|
||||
__pyx_t_8 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__pyx_t_9 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_9);
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":136
|
||||
* for k,v in o.iteritems():
|
||||
@ -1189,20 +1191,20 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* elif isinstance(o, tuple) or isinstance(o, list):
|
||||
* msgpack_pack_array(&self.pk, len(o))
|
||||
*/
|
||||
__pyx_t_8 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__pyx_t_9 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_9);
|
||||
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
|
||||
__Pyx_INCREF(__pyx_v_v);
|
||||
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
|
||||
__Pyx_GIVEREF(__pyx_v_v);
|
||||
__pyx_t_6 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
__pyx_t_7 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
}
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
goto __pyx_L3;
|
||||
}
|
||||
|
||||
@ -1215,12 +1217,12 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
*/
|
||||
__pyx_t_1 = PyObject_TypeCheck(__pyx_v_o, ((PyTypeObject *)((PyObject*)&PyTuple_Type)));
|
||||
if (!__pyx_t_1) {
|
||||
__pyx_t_9 = PyObject_TypeCheck(__pyx_v_o, ((PyTypeObject *)((PyObject*)&PyList_Type)));
|
||||
__pyx_t_10 = __pyx_t_9;
|
||||
__pyx_t_10 = PyObject_TypeCheck(__pyx_v_o, ((PyTypeObject *)((PyObject*)&PyList_Type)));
|
||||
__pyx_t_11 = __pyx_t_10;
|
||||
} else {
|
||||
__pyx_t_10 = __pyx_t_1;
|
||||
__pyx_t_11 = __pyx_t_1;
|
||||
}
|
||||
if (__pyx_t_10) {
|
||||
if (__pyx_t_11) {
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":138
|
||||
* self.pack(v)
|
||||
@ -1229,8 +1231,8 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* for v in o:
|
||||
* self.pack(v)
|
||||
*/
|
||||
__pyx_t_5 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_array((&__pyx_v_self->pk), __pyx_t_5);
|
||||
__pyx_t_6 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
msgpack_pack_array((&__pyx_v_self->pk), __pyx_t_6);
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":139
|
||||
* elif isinstance(o, tuple) or isinstance(o, list):
|
||||
@ -1240,29 +1242,29 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* else:
|
||||
*/
|
||||
if (PyList_CheckExact(__pyx_v_o) || PyTuple_CheckExact(__pyx_v_o)) {
|
||||
__pyx_t_5 = 0; __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
|
||||
__pyx_t_6 = 0; __pyx_t_8 = __pyx_v_o; __Pyx_INCREF(__pyx_t_8);
|
||||
} else {
|
||||
__pyx_t_5 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
}
|
||||
for (;;) {
|
||||
if (likely(PyList_CheckExact(__pyx_t_7))) {
|
||||
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_7)) break;
|
||||
__pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++;
|
||||
} else if (likely(PyTuple_CheckExact(__pyx_t_7))) {
|
||||
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
|
||||
__pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++;
|
||||
if (likely(PyList_CheckExact(__pyx_t_8))) {
|
||||
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
|
||||
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
|
||||
} else if (likely(PyTuple_CheckExact(__pyx_t_8))) {
|
||||
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
|
||||
__pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
|
||||
} else {
|
||||
__pyx_t_6 = PyIter_Next(__pyx_t_7);
|
||||
if (!__pyx_t_6) {
|
||||
__pyx_t_7 = PyIter_Next(__pyx_t_8);
|
||||
if (!__pyx_t_7) {
|
||||
if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
break;
|
||||
}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
}
|
||||
__Pyx_DECREF(__pyx_v_v);
|
||||
__pyx_v_v = __pyx_t_6;
|
||||
__pyx_t_6 = 0;
|
||||
__pyx_v_v = __pyx_t_7;
|
||||
__pyx_t_7 = 0;
|
||||
|
||||
/* "/home/inada-n/work/msgpack/python/msgpack.pyx":140
|
||||
* msgpack_pack_array(&self.pk, len(o))
|
||||
@ -1271,20 +1273,20 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
* else:
|
||||
* # TODO: Serialize with defalt() like simplejson.
|
||||
*/
|
||||
__pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_6);
|
||||
__pyx_t_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_pack); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_7);
|
||||
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
|
||||
__Pyx_INCREF(__pyx_v_v);
|
||||
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
|
||||
__Pyx_GIVEREF(__pyx_v_v);
|
||||
__pyx_t_8 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
||||
__pyx_t_9 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_9);
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
|
||||
}
|
||||
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
goto __pyx_L3;
|
||||
}
|
||||
/*else*/ {
|
||||
@ -1296,16 +1298,16 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
*
|
||||
* def pack(self, obj, flush=True):
|
||||
*/
|
||||
__pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_7));
|
||||
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(((PyObject *)__pyx_t_8));
|
||||
__Pyx_INCREF(__pyx_v_o);
|
||||
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_o);
|
||||
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_o);
|
||||
__Pyx_GIVEREF(__pyx_v_o);
|
||||
__pyx_t_8 = PyNumber_Remainder(__pyx_kp_4, ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_8);
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
|
||||
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_t_8, 0);
|
||||
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
|
||||
__pyx_t_9 = PyNumber_Remainder(__pyx_kp_4, ((PyObject *)__pyx_t_8)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
__Pyx_GOTREF(__pyx_t_9);
|
||||
__Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
|
||||
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_t_9, 0);
|
||||
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
|
||||
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
||||
}
|
||||
__pyx_L3:;
|
||||
@ -1317,9 +1319,9 @@ static PyObject *__pyx_f_7msgpack_6Packer___pack(struct __pyx_obj_7msgpack_Pack
|
||||
__Pyx_XDECREF(__pyx_2);
|
||||
__Pyx_XDECREF(__pyx_3);
|
||||
__Pyx_XDECREF(__pyx_t_2);
|
||||
__Pyx_XDECREF(__pyx_t_6);
|
||||
__Pyx_XDECREF(__pyx_t_7);
|
||||
__Pyx_XDECREF(__pyx_t_8);
|
||||
__Pyx_XDECREF(__pyx_t_9);
|
||||
__Pyx_AddTraceback("msgpack.Packer.__pack");
|
||||
__pyx_r = 0;
|
||||
__pyx_L0:;
|
||||
|
@ -118,7 +118,7 @@ cdef class Packer:
|
||||
intval = o
|
||||
msgpack_pack_long_long(&self.pk, intval)
|
||||
elif isinstance(o, float):
|
||||
fval = 9
|
||||
fval = o
|
||||
msgpack_pack_double(&self.pk, fval)
|
||||
elif isinstance(o, str):
|
||||
rawval = o
|
||||
|
Loading…
x
Reference in New Issue
Block a user