2009-06-17 13:45:08 +09:00
/* Generated by Cython 0.11.1 on Wed Jun 17 13:44:30 2009 */
2009-06-08 01:43:50 +09:00
# define PY_SSIZE_T_CLEAN
# include "Python.h"
# include "structmember.h"
# ifndef Py_PYTHON_H
# error Python headers needed to compile C extensions, please install development version of Python.
# endif
# ifndef PY_LONG_LONG
# define PY_LONG_LONG LONG_LONG
# endif
# ifndef DL_EXPORT
# define DL_EXPORT(t) t
# endif
# if PY_VERSION_HEX < 0x02040000
# define METH_COEXIST 0
# define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
# endif
# if PY_VERSION_HEX < 0x02050000
typedef int Py_ssize_t ;
# define PY_SSIZE_T_MAX INT_MAX
# define PY_SSIZE_T_MIN INT_MIN
# define PY_FORMAT_SIZE_T ""
# define PyInt_FromSsize_t(z) PyInt_FromLong(z)
# define PyInt_AsSsize_t(o) PyInt_AsLong(o)
# define PyNumber_Index(o) PyNumber_Int(o)
# define PyIndex_Check(o) PyNumber_Check(o)
# endif
# if PY_VERSION_HEX < 0x02060000
# define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
# define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
# define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
# define PyVarObject_HEAD_INIT(type, size) \
PyObject_HEAD_INIT ( type ) size ,
# define PyType_Modified(t)
typedef struct {
void * buf ;
PyObject * obj ;
Py_ssize_t len ;
Py_ssize_t itemsize ;
int readonly ;
int ndim ;
char * format ;
Py_ssize_t * shape ;
Py_ssize_t * strides ;
Py_ssize_t * suboffsets ;
void * internal ;
} Py_buffer ;
# define PyBUF_SIMPLE 0
# define PyBUF_WRITABLE 0x0001
# define PyBUF_FORMAT 0x0004
# define PyBUF_ND 0x0008
# define PyBUF_STRIDES (0x0010 | PyBUF_ND)
# define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
# define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
# define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
# define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
# endif
# if PY_MAJOR_VERSION < 3
# define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
# else
# define __Pyx_BUILTIN_MODULE_NAME "builtins"
# endif
# if PY_MAJOR_VERSION >= 3
# define Py_TPFLAGS_CHECKTYPES 0
# define Py_TPFLAGS_HAVE_INDEX 0
# endif
# if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
# define Py_TPFLAGS_HAVE_NEWBUFFER 0
# endif
# if PY_MAJOR_VERSION >= 3
# define PyBaseString_Type PyUnicode_Type
# define PyString_Type PyBytes_Type
# define PyString_CheckExact PyBytes_CheckExact
# define PyInt_Type PyLong_Type
# define PyInt_Check(op) PyLong_Check(op)
# define PyInt_CheckExact(op) PyLong_CheckExact(op)
# define PyInt_FromString PyLong_FromString
# define PyInt_FromUnicode PyLong_FromUnicode
# define PyInt_FromLong PyLong_FromLong
# define PyInt_FromSize_t PyLong_FromSize_t
# define PyInt_FromSsize_t PyLong_FromSsize_t
# define PyInt_AsLong PyLong_AsLong
# define PyInt_AS_LONG PyLong_AS_LONG
# define PyInt_AsSsize_t PyLong_AsSsize_t
# define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
# define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
# define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
# else
# define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
# define PyBytes_Type PyString_Type
# endif
# if PY_MAJOR_VERSION >= 3
# define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
# endif
# if !defined(WIN32) && !defined(MS_WINDOWS)
# ifndef __stdcall
# define __stdcall
# endif
# ifndef __cdecl
# define __cdecl
# endif
# else
# define _USE_MATH_DEFINES
# endif
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
# else
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
# endif
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_NAMESTR(n) ((char *)(n))
# define __Pyx_DOCSTR(n) ((char *)(n))
# else
# define __Pyx_NAMESTR(n) (n)
# define __Pyx_DOCSTR(n) (n)
# endif
# ifdef __cplusplus
# define __PYX_EXTERN_C extern "C"
# else
# define __PYX_EXTERN_C extern
# endif
# include <math.h>
# define __PYX_HAVE_API__msgpack
# include "stdlib.h"
# include "string.h"
# include "pack.h"
# include "unpack.h"
# ifdef __GNUC__
# define INLINE __inline__
# elif _WIN32
# define INLINE __inline
# else
# define INLINE
# endif
typedef struct { PyObject * * p ; char * s ; long n ; char is_unicode ; char intern ; char is_identifier ; } __Pyx_StringTabEntry ; /*proto*/
static int __pyx_skip_dispatch = 0 ;
/* Type Conversion Predeclarations */
# if PY_MAJOR_VERSION < 3
# define __Pyx_PyBytes_FromString PyString_FromString
# define __Pyx_PyBytes_FromStringAndSize PyString_FromStringAndSize
# define __Pyx_PyBytes_AsString PyString_AsString
# else
# define __Pyx_PyBytes_FromString PyBytes_FromString
# define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
# define __Pyx_PyBytes_AsString PyBytes_AsString
# endif
# define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
static INLINE int __Pyx_PyObject_IsTrue ( PyObject * ) ;
static INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) ;
# if !defined(T_PYSSIZET)
# if PY_VERSION_HEX < 0x02050000
# define T_PYSSIZET T_INT
# elif !defined(T_LONGLONG)
# define T_PYSSIZET \
( ( sizeof ( Py_ssize_t ) = = sizeof ( int ) ) ? T_INT : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( long ) ) ? T_LONG : - 1 ) )
# else
# define T_PYSSIZET \
( ( sizeof ( Py_ssize_t ) = = sizeof ( int ) ) ? T_INT : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( long ) ) ? T_LONG : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( PY_LONG_LONG ) ) ? T_LONGLONG : - 1 ) ) )
# endif
# endif
# if !defined(T_SIZET)
# if !defined(T_ULONGLONG)
# define T_SIZET \
( ( sizeof ( size_t ) = = sizeof ( unsigned int ) ) ? T_UINT : \
( ( sizeof ( size_t ) = = sizeof ( unsigned long ) ) ? T_ULONG : - 1 ) )
# else
# define T_SIZET \
( ( sizeof ( size_t ) = = sizeof ( unsigned int ) ) ? T_UINT : \
( ( sizeof ( size_t ) = = sizeof ( unsigned long ) ) ? T_ULONG : \
( ( sizeof ( size_t ) = = sizeof ( unsigned PY_LONG_LONG ) ) ? T_ULONGLONG : - 1 ) ) )
# endif
# endif
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t ( PyObject * ) ;
static INLINE PyObject * __Pyx_PyInt_FromSize_t ( size_t ) ;
static INLINE size_t __Pyx_PyInt_AsSize_t ( PyObject * ) ;
# define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
# ifdef __GNUC__
/* Test for GCC > 2.95 */
# if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
# define likely(x) __builtin_expect(!!(x), 1)
# define unlikely(x) __builtin_expect(!!(x), 0)
# else /* __GNUC__ > 2 ... */
# define likely(x) (x)
# define unlikely(x) (x)
# endif /* __GNUC__ > 2 ... */
# else /* __GNUC__ */
# define likely(x) (x)
# define unlikely(x) (x)
# endif /* __GNUC__ */
static PyObject * __pyx_m ;
static PyObject * __pyx_b ;
static PyObject * __pyx_empty_tuple ;
static int __pyx_lineno ;
static int __pyx_clineno = 0 ;
static const char * __pyx_cfilenm = __FILE__ ;
static const char * __pyx_filename ;
static const char * * __pyx_f ;
# ifdef CYTHON_REFNANNY
typedef struct {
void ( * INCREF ) ( void * , PyObject * , int ) ;
void ( * DECREF ) ( void * , PyObject * , int ) ;
void ( * GOTREF ) ( void * , PyObject * , int ) ;
void ( * GIVEREF ) ( void * , PyObject * , int ) ;
void * ( * NewContext ) ( const char * , int , const char * ) ;
void ( * FinishContext ) ( void * * ) ;
} __Pyx_RefnannyAPIStruct ;
static __Pyx_RefnannyAPIStruct * __Pyx_Refnanny = NULL ;
# define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI")
# define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__)
# define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__)
# define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__)
# define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__)
# define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r)
# define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__)
# define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk)
# else
# define __Pyx_INCREF(r) Py_INCREF(r)
# define __Pyx_DECREF(r) Py_DECREF(r)
# define __Pyx_GOTREF(r)
# define __Pyx_GIVEREF(r)
# define __Pyx_XDECREF(r) Py_XDECREF(r)
# define __Pyx_SetupRefcountContext(name)
# define __Pyx_FinishRefcountContext()
# endif /* CYTHON_REFNANNY */
# define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r)
# define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r)
static void __Pyx_RaiseDoubleKeywordsError (
const char * func_name , PyObject * kw_name ) ; /*proto*/
static void __Pyx_RaiseArgtupleInvalid ( const char * func_name , int exact ,
Py_ssize_t num_min , Py_ssize_t num_max , Py_ssize_t num_found ) ; /*proto*/
static int __Pyx_ParseOptionalKeywords ( PyObject * kwds , PyObject * * argnames [ ] , PyObject * kwds2 , PyObject * values [ ] , Py_ssize_t num_pos_args , const char * function_name ) ; /*proto*/
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list ) ; /*proto*/
static PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) ; /*proto*/
static INLINE void __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t index ) ;
static INLINE void __Pyx_RaiseTooManyValuesError ( void ) ;
static PyObject * __Pyx_UnpackItem ( PyObject * , Py_ssize_t index ) ; /*proto*/
static int __Pyx_EndUnpack ( PyObject * ) ; /*proto*/
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb ) ; /*proto*/
static INLINE void __Pyx_ErrRestore ( PyObject * type , PyObject * value , PyObject * tb ) ; /*proto*/
static INLINE void __Pyx_ErrFetch ( PyObject * * type , PyObject * * value , PyObject * * tb ) ; /*proto*/
static INLINE int __Pyx_StrEq ( const char * , const char * ) ; /*proto*/
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar ( PyObject * ) ;
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort ( PyObject * ) ;
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt ( PyObject * ) ;
static INLINE char __Pyx_PyInt_AsChar ( PyObject * ) ;
static INLINE short __Pyx_PyInt_AsShort ( PyObject * ) ;
static INLINE int __Pyx_PyInt_AsInt ( PyObject * ) ;
static INLINE signed char __Pyx_PyInt_AsSignedChar ( PyObject * ) ;
static INLINE signed short __Pyx_PyInt_AsSignedShort ( PyObject * ) ;
static INLINE signed int __Pyx_PyInt_AsSignedInt ( PyObject * ) ;
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong ( PyObject * ) ;
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong ( PyObject * ) ;
static INLINE long __Pyx_PyInt_AsLong ( PyObject * ) ;
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong ( PyObject * ) ;
static INLINE signed long __Pyx_PyInt_AsSignedLong ( PyObject * ) ;
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong ( PyObject * ) ;
static void __Pyx_WriteUnraisable ( const char * name ) ; /*proto*/
2009-06-09 13:12:29 +09:00
static int __Pyx_SetVtable ( PyObject * dict , void * vtable ) ; /*proto*/
2009-06-08 01:43:50 +09:00
static void __Pyx_AddTraceback ( const char * funcname ) ; /*proto*/
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) ; /*proto*/
/* Type declarations */
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":39
2009-06-08 01:43:50 +09:00
* cdef int BUFF_SIZE = 2 * 1024
*
* cdef class Packer : # < < < < < < < < < < < < < <
* " " " Packer that pack data into strm.
*
*/
struct __pyx_obj_7msgpack_Packer {
PyObject_HEAD
2009-06-09 13:12:29 +09:00
struct __pyx_vtabstruct_7msgpack_Packer * __pyx_vtab ;
2009-06-08 01:43:50 +09:00
char * buff ;
unsigned int length ;
unsigned int allocated ;
struct msgpack_packer pk ;
PyObject * strm ;
} ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":200
2009-06-08 01:43:50 +09:00
* return unpacks ( packed )
*
* cdef class Unpacker : # < < < < < < < < < < < < < <
* " " " Do nothing. This function is for symmetric to Packer " " "
* unpack = staticmethod ( unpacks )
*/
struct __pyx_obj_7msgpack_Unpacker {
PyObject_HEAD
} ;
2009-06-09 13:12:29 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":39
2009-06-09 13:12:29 +09:00
* cdef int BUFF_SIZE = 2 * 1024
*
* cdef class Packer : # < < < < < < < < < < < < < <
* " " " Packer that pack data into strm.
*
*/
struct __pyx_vtabstruct_7msgpack_Packer {
PyObject * ( * __pack ) ( struct __pyx_obj_7msgpack_Packer * , PyObject * ) ;
} ;
static struct __pyx_vtabstruct_7msgpack_Packer * __pyx_vtabptr_7msgpack_Packer ;
2009-06-08 01:43:50 +09:00
/* Module declarations from msgpack */
static PyTypeObject * __pyx_ptype_7msgpack_Packer = 0 ;
static PyTypeObject * __pyx_ptype_7msgpack_Unpacker = 0 ;
static int __pyx_v_7msgpack_BUFF_SIZE ;
2009-06-09 13:12:29 +09:00
static PyObject * __pyx_k_1 = 0 ;
2009-06-08 01:43:50 +09:00
static int __pyx_f_7msgpack__packer_write ( struct __pyx_obj_7msgpack_Packer * , const char * , unsigned int ) ; /*proto*/
2009-06-17 13:45:08 +09:00
const char * __pyx_modulename = " msgpack " ;
2009-06-08 01:43:50 +09:00
/* Implementation of msgpack */
static char __pyx_k___init__ [ ] = " __init__ " ;
static PyObject * __pyx_kp___init__ ;
2009-06-09 13:12:29 +09:00
static char __pyx_k___del__ [ ] = " __del__ " ;
static PyObject * __pyx_kp___del__ ;
2009-06-08 01:43:50 +09:00
static char __pyx_k_flush [ ] = " flush " ;
static PyObject * __pyx_kp_flush ;
static char __pyx_k_pack_list [ ] = " pack_list " ;
static PyObject * __pyx_kp_pack_list ;
static char __pyx_k_pack_dict [ ] = " pack_dict " ;
static PyObject * __pyx_kp_pack_dict ;
static char __pyx_k_pack [ ] = " pack " ;
static PyObject * __pyx_kp_pack ;
static char __pyx_k_unpack [ ] = " unpack " ;
static PyObject * __pyx_kp_unpack ;
static char __pyx_k_strm [ ] = " strm " ;
static PyObject * __pyx_kp_strm ;
static char __pyx_k_size [ ] = " size " ;
static PyObject * __pyx_kp_size ;
static char __pyx_k_len [ ] = " len " ;
static PyObject * __pyx_kp_len ;
2009-06-09 13:12:29 +09:00
static char __pyx_k_obj [ ] = " obj " ;
static PyObject * __pyx_kp_obj ;
2009-06-08 01:43:50 +09:00
static char __pyx_k_o [ ] = " o " ;
static PyObject * __pyx_kp_o ;
static char __pyx_k_stream [ ] = " stream " ;
static PyObject * __pyx_kp_stream ;
static char __pyx_k_packed_bytes [ ] = " packed_bytes " ;
static PyObject * __pyx_kp_packed_bytes ;
static char __pyx_k_cStringIO [ ] = " cStringIO " ;
static PyObject * __pyx_kp_cStringIO ;
static char __pyx_k_StringIO [ ] = " StringIO " ;
static PyObject * __pyx_kp_StringIO ;
static char __pyx_k_staticmethod [ ] = " staticmethod " ;
static PyObject * __pyx_kp_staticmethod ;
static char __pyx_k_unpacks [ ] = " unpacks " ;
static PyObject * __pyx_kp_unpacks ;
static char __pyx_k_write [ ] = " write " ;
static PyObject * __pyx_kp_write ;
2009-06-09 13:12:29 +09:00
static char __pyx_k_2 [ ] = " flush " ;
static PyObject * __pyx_kp_2 ;
2009-06-08 01:43:50 +09:00
static char __pyx_k_encode [ ] = " encode " ;
static PyObject * __pyx_kp_encode ;
static char __pyx_k_iteritems [ ] = " iteritems " ;
static PyObject * __pyx_kp_iteritems ;
static char __pyx_k_TypeError [ ] = " TypeError " ;
static PyObject * __pyx_kp_TypeError ;
static char __pyx_k_getvalue [ ] = " getvalue " ;
static PyObject * __pyx_kp_getvalue ;
static char __pyx_k_read [ ] = " read " ;
static PyObject * __pyx_kp_read ;
static PyObject * __pyx_builtin_staticmethod ;
static PyObject * __pyx_builtin_TypeError ;
static PyObject * __pyx_kp_3 ;
2009-06-09 13:12:29 +09:00
static PyObject * __pyx_kp_4 ;
static char __pyx_k_3 [ ] = " utf-8 " ;
static char __pyx_k_4 [ ] = " can't serialize %r " ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":51
2009-06-08 01:43:50 +09:00
* cdef object strm
*
* def __init__ ( self , strm , int size = 0 ) : # < < < < < < < < < < < < < <
* if size < = 0 :
* size = BUFF_SIZE
*/
static int __pyx_pf_7msgpack_6Packer___init__ ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
static int __pyx_pf_7msgpack_6Packer___init__ ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
PyObject * __pyx_v_strm = 0 ;
int __pyx_v_size ;
int __pyx_r ;
int __pyx_t_1 ;
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_kp_strm , & __pyx_kp_size , 0 } ;
__Pyx_SetupRefcountContext ( " __init__ " ) ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args = PyDict_Size ( __pyx_kwds ) ;
PyObject * values [ 2 ] = { 0 , 0 } ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : values [ 1 ] = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : values [ 0 ] = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
case 0 : break ;
default : goto __pyx_L5_argtuple_error ;
}
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 0 :
values [ 0 ] = PyDict_GetItem ( __pyx_kwds , __pyx_kp_strm ) ;
if ( likely ( values [ 0 ] ) ) kw_args - - ;
else goto __pyx_L5_argtuple_error ;
case 1 :
if ( kw_args > 1 ) {
PyObject * value = PyDict_GetItem ( __pyx_kwds , __pyx_kp_size ) ;
if ( unlikely ( value ) ) { values [ 1 ] = value ; kw_args - - ; }
}
}
if ( unlikely ( kw_args > 0 ) ) {
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , PyTuple_GET_SIZE ( __pyx_args ) , " __init__ " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 51 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
}
__pyx_v_strm = values [ 0 ] ;
if ( values [ 1 ] ) {
__pyx_v_size = __Pyx_PyInt_AsInt ( values [ 1 ] ) ; if ( unlikely ( ( __pyx_v_size = = ( int ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 51 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
} else {
__pyx_v_size = 0 ;
}
} else {
__pyx_v_size = 0 ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : __pyx_v_size = __Pyx_PyInt_AsInt ( PyTuple_GET_ITEM ( __pyx_args , 1 ) ) ; if ( unlikely ( ( __pyx_v_size = = ( int ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 51 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
case 1 : __pyx_v_strm = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
break ;
default : goto __pyx_L5_argtuple_error ;
}
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
__Pyx_RaiseArgtupleInvalid ( " __init__ " , 0 , 1 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 51 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
__pyx_L3_error : ;
__Pyx_AddTraceback ( " msgpack.Packer.__init__ " ) ;
return - 1 ;
__pyx_L4_argument_unpacking_done : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":52
2009-06-08 01:43:50 +09:00
*
* def __init__ ( self , strm , int size = 0 ) :
* if size < = 0 : # < < < < < < < < < < < < < <
* size = BUFF_SIZE
*
*/
__pyx_t_1 = ( __pyx_v_size < = 0 ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":53
2009-06-08 01:43:50 +09:00
* def __init__ ( self , strm , int size = 0 ) :
* if size < = 0 :
* size = BUFF_SIZE # < < < < < < < < < < < < < <
*
* self . strm = strm
*/
__pyx_v_size = __pyx_v_7msgpack_BUFF_SIZE ;
goto __pyx_L6 ;
}
__pyx_L6 : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":55
2009-06-08 01:43:50 +09:00
* size = BUFF_SIZE
*
* self . strm = strm # < < < < < < < < < < < < < <
* self . buff = < char * > malloc ( size )
* self . allocated = size
*/
__Pyx_INCREF ( __pyx_v_strm ) ;
__Pyx_GIVEREF ( __pyx_v_strm ) ;
__Pyx_GOTREF ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm ) ;
__Pyx_DECREF ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm ) ;
( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm = __pyx_v_strm ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":56
2009-06-08 01:43:50 +09:00
*
* self . strm = strm
* self . buff = < char * > malloc ( size ) # < < < < < < < < < < < < < <
* self . allocated = size
* self . length = 0
*/
( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > buff = ( ( char * ) malloc ( __pyx_v_size ) ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":57
2009-06-08 01:43:50 +09:00
* self . strm = strm
* self . buff = < char * > malloc ( size )
* self . allocated = size # < < < < < < < < < < < < < <
* self . length = 0
*
*/
( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > allocated = __pyx_v_size ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":58
2009-06-08 01:43:50 +09:00
* self . buff = < char * > malloc ( size )
* self . allocated = size
* self . length = 0 # < < < < < < < < < < < < < <
*
* msgpack_packer_init ( & self . pk , < void * > self , < msgpack_packer_write > _packer_write )
*/
( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > length = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":60
2009-06-08 01:43:50 +09:00
* self . length = 0
*
* msgpack_packer_init ( & self . pk , < void * > self , < msgpack_packer_write > _packer_write ) # < < < < < < < < < < < < < <
*
2009-06-09 13:12:29 +09:00
* def __del__ ( self ) :
2009-06-08 01:43:50 +09:00
*/
msgpack_packer_init ( ( & ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > pk ) , ( ( void * ) __pyx_v_self ) , ( ( int ( * ) ( void * , const char * , unsigned int ) ) __pyx_f_7msgpack__packer_write ) ) ;
__pyx_r = 0 ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":62
2009-06-09 13:12:29 +09:00
* msgpack_packer_init ( & self . pk , < void * > self , < msgpack_packer_write > _packer_write )
*
* def __del__ ( self ) : # < < < < < < < < < < < < < <
* free ( self . buff ) ;
*
*/
static PyObject * __pyx_pf_7msgpack_6Packer___del__ ( PyObject * __pyx_v_self , PyObject * unused ) ; /*proto*/
static PyObject * __pyx_pf_7msgpack_6Packer___del__ ( PyObject * __pyx_v_self , PyObject * unused ) {
PyObject * __pyx_r = NULL ;
__Pyx_SetupRefcountContext ( " __del__ " ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":63
2009-06-08 01:43:50 +09:00
*
2009-06-09 13:12:29 +09:00
* def __del__ ( self ) :
* free ( self . buff ) ; # < < < < < < < < < < < < < <
*
* def flush ( self ) :
*/
free ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > buff ) ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":65
2009-06-09 13:12:29 +09:00
* free ( self . buff ) ;
2009-06-08 01:43:50 +09:00
*
* def flush ( self ) : # < < < < < < < < < < < < < <
* " " " Flash local buffer and output stream if it has 'flush()' method. " " "
* if self . length > 0 :
*/
static PyObject * __pyx_pf_7msgpack_6Packer_flush ( PyObject * __pyx_v_self , PyObject * unused ) ; /*proto*/
static char __pyx_doc_7msgpack_6Packer_flush [ ] = " Flash local buffer and output stream if it has 'flush()' method. " ;
static PyObject * __pyx_pf_7msgpack_6Packer_flush ( PyObject * __pyx_v_self , PyObject * unused ) {
PyObject * __pyx_r = NULL ;
int __pyx_t_1 ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
PyObject * __pyx_t_4 = NULL ;
__Pyx_SetupRefcountContext ( " flush " ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":67
2009-06-08 01:43:50 +09:00
* def flush ( self ) :
* " " " Flash local buffer and output stream if it has 'flush()' method. " " "
* if self . length > 0 : # < < < < < < < < < < < < < <
* self . strm . write ( PyString_FromStringAndSize ( self . buff , self . length ) )
* self . length = 0
*/
__pyx_t_1 = ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > length > 0 ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":68
2009-06-08 01:43:50 +09:00
* " " " Flash local buffer and output stream if it has 'flush()' method. " " "
* if self . length > 0 :
* self . strm . write ( PyString_FromStringAndSize ( self . buff , self . length ) ) # < < < < < < < < < < < < < <
* self . length = 0
* if hasattr ( self . strm , ' flush ' ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_GetAttr ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm , __pyx_kp_write ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 68 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyString_FromStringAndSize ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > buff , ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > length ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 68 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_4 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 68 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_4 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_4 , 0 , __pyx_t_3 ) ;
__Pyx_GIVEREF ( __pyx_t_3 ) ;
__pyx_t_3 = 0 ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_Call ( __pyx_t_2 , ( ( PyObject * ) __pyx_t_4 ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 68 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_4 ) ) ; __pyx_t_4 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":69
2009-06-08 01:43:50 +09:00
* if self . length > 0 :
* self . strm . write ( PyString_FromStringAndSize ( self . buff , self . length ) )
* self . length = 0 # < < < < < < < < < < < < < <
* if hasattr ( self . strm , ' flush ' ) :
* self . strm . flush ( )
*/
( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > length = 0 ;
goto __pyx_L5 ;
}
__pyx_L5 : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":70
2009-06-08 01:43:50 +09:00
* self . strm . write ( PyString_FromStringAndSize ( self . buff , self . length ) )
* self . length = 0
* if hasattr ( self . strm , ' flush ' ) : # < < < < < < < < < < < < < <
* self . strm . flush ( )
*
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_HasAttr ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm , __pyx_kp_2 ) ; if ( unlikely ( __pyx_t_1 = = - 1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 70 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":71
2009-06-08 01:43:50 +09:00
* self . length = 0
* if hasattr ( self . strm , ' flush ' ) :
* self . strm . flush ( ) # < < < < < < < < < < < < < <
*
* def pack_list ( self , len ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_GetAttr ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > strm , __pyx_kp_flush ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 71 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_4 = PyObject_Call ( __pyx_t_3 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 71 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
goto __pyx_L6 ;
}
__pyx_L6 : ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_AddTraceback ( " msgpack.Packer.flush " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":73
2009-06-08 01:43:50 +09:00
* self . strm . flush ( )
*
* def pack_list ( self , len ) : # < < < < < < < < < < < < < <
* " " " Start packing sequential objects.
*
*/
static PyObject * __pyx_pf_7msgpack_6Packer_pack_list ( PyObject * __pyx_v_self , PyObject * __pyx_v_len ) ; /*proto*/
static char __pyx_doc_7msgpack_6Packer_pack_list [ ] = " Start packing sequential objects. \n \n Example: \n \n packer.pack_list(2) \n packer.pack('foo') \n packer.pack('bar') \n \n This code is same as below code: \n \n packer.pack(['foo', 'bar']) \n " ;
static PyObject * __pyx_pf_7msgpack_6Packer_pack_list ( PyObject * __pyx_v_self , PyObject * __pyx_v_len ) {
PyObject * __pyx_r = NULL ;
size_t __pyx_t_1 ;
__Pyx_SetupRefcountContext ( " pack_list " ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":86
2009-06-08 01:43:50 +09:00
* packer . pack ( [ ' foo ' , ' bar ' ] )
* " " "
* msgpack_pack_array ( & self . pk , len ) # < < < < < < < < < < < < < <
*
* def pack_dict ( self , len ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = __Pyx_PyInt_AsSize_t ( __pyx_v_len ) ; if ( unlikely ( ( __pyx_t_1 = = ( size_t ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 86 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
msgpack_pack_array ( ( & ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > pk ) , __pyx_t_1 ) ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_AddTraceback ( " msgpack.Packer.pack_list " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":88
2009-06-08 01:43:50 +09:00
* msgpack_pack_array ( & self . pk , len )
*
* def pack_dict ( self , len ) : # < < < < < < < < < < < < < <
* " " " Start packing key-value objects.
*
*/
static PyObject * __pyx_pf_7msgpack_6Packer_pack_dict ( PyObject * __pyx_v_self , PyObject * __pyx_v_len ) ; /*proto*/
static char __pyx_doc_7msgpack_6Packer_pack_dict [ ] = " Start packing key-value objects. \n \n Example: \n \n packer.pack_dict(1) \n packer.pack('foo') \n packer.pack('bar') \n \n This code is same as below code: \n \n packer.pack({'foo', 'bar'}) \n " ;
static PyObject * __pyx_pf_7msgpack_6Packer_pack_dict ( PyObject * __pyx_v_self , PyObject * __pyx_v_len ) {
PyObject * __pyx_r = NULL ;
size_t __pyx_t_1 ;
__Pyx_SetupRefcountContext ( " pack_dict " ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":101
2009-06-08 01:43:50 +09:00
* packer . pack ( { ' foo ' , ' bar ' } )
* " " "
* msgpack_pack_map ( & self . pk , len ) # < < < < < < < < < < < < < <
*
2009-06-09 13:12:29 +09:00
* cdef __pack ( self , object o ) :
2009-06-08 01:43:50 +09:00
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = __Pyx_PyInt_AsSize_t ( __pyx_v_len ) ; if ( unlikely ( ( __pyx_t_1 = = ( size_t ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 101 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
msgpack_pack_map ( ( & ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > pk ) , __pyx_t_1 ) ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_AddTraceback ( " msgpack.Packer.pack_dict " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":103
2009-06-08 01:43:50 +09:00
* msgpack_pack_map ( & self . pk , len )
*
2009-06-09 13:12:29 +09:00
* cdef __pack ( self , object o ) : # < < < < < < < < < < < < < <
2009-06-08 01:43:50 +09:00
* cdef long long intval
* cdef double fval
*/
2009-06-09 13:12:29 +09:00
static PyObject * __pyx_f_7msgpack_6Packer___pack ( struct __pyx_obj_7msgpack_Packer * __pyx_v_self , PyObject * __pyx_v_o ) {
2009-06-08 01:43:50 +09:00
PY_LONG_LONG __pyx_v_intval ;
double __pyx_v_fval ;
char * __pyx_v_rawval ;
PyObject * __pyx_v_k ;
PyObject * __pyx_v_v ;
PyObject * __pyx_r = NULL ;
PyObject * __pyx_1 = 0 ;
PyObject * __pyx_2 = 0 ;
PyObject * __pyx_3 = 0 ;
int __pyx_t_1 ;
PyObject * __pyx_t_2 = NULL ;
PY_LONG_LONG __pyx_t_3 ;
2009-06-16 01:58:07 +09:00
double __pyx_t_4 ;
char * __pyx_t_5 ;
Py_ssize_t __pyx_t_6 ;
2009-06-08 01:43:50 +09:00
PyObject * __pyx_t_7 = NULL ;
PyObject * __pyx_t_8 = NULL ;
2009-06-16 01:58:07 +09:00
PyObject * __pyx_t_9 = NULL ;
2009-06-08 01:43:50 +09:00
int __pyx_t_10 ;
2009-06-16 01:58:07 +09:00
int __pyx_t_11 ;
2009-06-09 13:12:29 +09:00
__Pyx_SetupRefcountContext ( " __pack " ) ;
2009-06-08 01:43:50 +09:00
__Pyx_INCREF ( __pyx_v_o ) ;
__pyx_v_k = Py_None ; __Pyx_INCREF ( Py_None ) ;
__pyx_v_v = Py_None ; __Pyx_INCREF ( Py_None ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":108
2009-06-08 01:43:50 +09:00
* cdef char * rawval
*
* if o is None : # < < < < < < < < < < < < < <
* msgpack_pack_nil ( & self . pk )
* elif o is True :
*/
__pyx_t_1 = ( __pyx_v_o = = Py_None ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":109
2009-06-08 01:43:50 +09:00
*
* if o is None :
* msgpack_pack_nil ( & self . pk ) # < < < < < < < < < < < < < <
* elif o is True :
* msgpack_pack_true ( & self . pk )
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_nil ( ( & __pyx_v_self - > pk ) ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":110
2009-06-08 01:43:50 +09:00
* if o is None :
* msgpack_pack_nil ( & self . pk )
* elif o is True : # < < < < < < < < < < < < < <
* msgpack_pack_true ( & self . pk )
* elif o is False :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = __Pyx_PyBool_FromLong ( 1 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 110 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__pyx_t_1 = ( __pyx_v_o = = __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":111
2009-06-08 01:43:50 +09:00
* msgpack_pack_nil ( & self . pk )
* elif o is True :
* msgpack_pack_true ( & self . pk ) # < < < < < < < < < < < < < <
* elif o is False :
* msgpack_pack_false ( & self . pk )
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_true ( ( & __pyx_v_self - > pk ) ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":112
2009-06-08 01:43:50 +09:00
* elif o is True :
* msgpack_pack_true ( & self . pk )
* elif o is False : # < < < < < < < < < < < < < <
* msgpack_pack_false ( & self . pk )
* elif isinstance ( o , long ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = __Pyx_PyBool_FromLong ( 0 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 112 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__pyx_t_1 = ( __pyx_v_o = = __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":113
2009-06-08 01:43:50 +09:00
* msgpack_pack_true ( & self . pk )
* elif o is False :
* msgpack_pack_false ( & self . pk ) # < < < < < < < < < < < < < <
* elif isinstance ( o , long ) :
* intval = o
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_false ( ( & __pyx_v_self - > pk ) ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":114
2009-06-08 01:43:50 +09:00
* elif o is False :
* msgpack_pack_false ( & self . pk )
* elif isinstance ( o , long ) : # < < < < < < < < < < < < < <
* intval = o
* msgpack_pack_long_long ( & self . pk , intval )
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyLong_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":115
2009-06-08 01:43:50 +09:00
* msgpack_pack_false ( & self . pk )
* elif isinstance ( o , long ) :
* intval = o # < < < < < < < < < < < < < <
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , int ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = __Pyx_PyInt_AsLongLong ( __pyx_v_o ) ; if ( unlikely ( ( __pyx_t_3 = = ( PY_LONG_LONG ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 115 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__pyx_v_intval = __pyx_t_3 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":116
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , long ) :
* intval = o
* msgpack_pack_long_long ( & self . pk , intval ) # < < < < < < < < < < < < < <
* elif isinstance ( o , int ) :
* intval = o
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_long_long ( ( & __pyx_v_self - > pk ) , __pyx_v_intval ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":117
2009-06-08 01:43:50 +09:00
* intval = o
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , int ) : # < < < < < < < < < < < < < <
* intval = o
* msgpack_pack_long_long ( & self . pk , intval )
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyInt_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":118
2009-06-08 01:43:50 +09:00
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , int ) :
* intval = o # < < < < < < < < < < < < < <
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , float ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = __Pyx_PyInt_AsLongLong ( __pyx_v_o ) ; if ( unlikely ( ( __pyx_t_3 = = ( PY_LONG_LONG ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 118 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__pyx_v_intval = __pyx_t_3 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":119
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , int ) :
* intval = o
* msgpack_pack_long_long ( & self . pk , intval ) # < < < < < < < < < < < < < <
* elif isinstance ( o , float ) :
2009-06-16 01:58:07 +09:00
* fval = o
2009-06-08 01:43:50 +09:00
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_long_long ( ( & __pyx_v_self - > pk ) , __pyx_v_intval ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":120
2009-06-08 01:43:50 +09:00
* intval = o
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , float ) : # < < < < < < < < < < < < < <
2009-06-16 01:58:07 +09:00
* fval = o
2009-06-08 01:43:50 +09:00
* msgpack_pack_double ( & self . pk , fval )
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyFloat_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":121
2009-06-08 01:43:50 +09:00
* msgpack_pack_long_long ( & self . pk , intval )
* elif isinstance ( o , float ) :
2009-06-16 01:58:07 +09:00
* fval = o # < < < < < < < < < < < < < <
2009-06-08 01:43:50 +09:00
* msgpack_pack_double ( & self . pk , fval )
* elif isinstance ( o , str ) :
*/
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":122
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , float ) :
2009-06-16 01:58:07 +09:00
* fval = o
2009-06-08 01:43:50 +09:00
* msgpack_pack_double ( & self . pk , fval ) # < < < < < < < < < < < < < <
* elif isinstance ( o , str ) :
* rawval = o
*/
2009-06-09 13:12:29 +09:00
msgpack_pack_double ( ( & __pyx_v_self - > pk ) , __pyx_v_fval ) ;
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":123
2009-06-16 01:58:07 +09:00
* fval = o
2009-06-08 01:43:50 +09:00
* msgpack_pack_double ( & self . pk , fval )
* elif isinstance ( o , str ) : # < < < < < < < < < < < < < <
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) )
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyString_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":124
2009-06-08 01:43:50 +09:00
* msgpack_pack_double ( & self . pk , fval )
* elif isinstance ( o , str ) :
* rawval = o # < < < < < < < < < < < < < <
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
*/
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":125
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , str ) :
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) ) # < < < < < < < < < < < < < <
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , unicode ) :
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":126
2009-06-08 01:43:50 +09:00
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) ) # < < < < < < < < < < < < < <
* elif isinstance ( o , unicode ) :
* o = o . encode ( ' utf - 8 ' )
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-09 13:12:29 +09:00
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":127
2009-06-08 01:43:50 +09:00
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , unicode ) : # < < < < < < < < < < < < < <
* o = o . encode ( ' utf - 8 ' )
* rawval = o
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyUnicode_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":128
2009-06-08 01:43:50 +09:00
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , unicode ) :
* o = o . encode ( ' utf - 8 ' ) # < < < < < < < < < < < < < <
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) )
*/
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2009-06-16 01:58:07 +09:00
__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 ) ) ;
2009-06-09 13:12:29 +09:00
__Pyx_INCREF ( __pyx_kp_3 ) ;
2009-06-16 01:58:07 +09:00
PyTuple_SET_ITEM ( __pyx_t_7 , 0 , __pyx_kp_3 ) ;
2009-06-09 13:12:29 +09:00
__Pyx_GIVEREF ( __pyx_kp_3 ) ;
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_7 ) ) ; __pyx_t_7 = 0 ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( __pyx_v_o ) ;
2009-06-16 01:58:07 +09:00
__pyx_v_o = __pyx_t_8 ;
__pyx_t_8 = 0 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":129
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , unicode ) :
* o = o . encode ( ' utf - 8 ' )
* rawval = o # < < < < < < < < < < < < < <
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
*/
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":130
2009-06-08 01:43:50 +09:00
* o = o . encode ( ' utf - 8 ' )
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) ) # < < < < < < < < < < < < < <
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , dict ) :
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":131
2009-06-08 01:43:50 +09:00
* rawval = o
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) ) # < < < < < < < < < < < < < <
* elif isinstance ( o , dict ) :
* msgpack_pack_map ( & self . pk , len ( o ) )
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-09 13:12:29 +09:00
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":132
2009-06-08 01:43:50 +09:00
* msgpack_pack_raw ( & self . pk , len ( o ) )
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , dict ) : # < < < < < < < < < < < < < <
* msgpack_pack_map ( & self . pk , len ( o ) )
* for k , v in o . iteritems ( ) :
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyDict_Type ) ) ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":133
2009-06-08 01:43:50 +09:00
* msgpack_pack_raw_body ( & self . pk , rawval , len ( o ) )
* elif isinstance ( o , dict ) :
* msgpack_pack_map ( & self . pk , len ( o ) ) # < < < < < < < < < < < < < <
* for k , v in o . iteritems ( ) :
* self . pack ( k )
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":134
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , dict ) :
* msgpack_pack_map ( & self . pk , len ( o ) )
* for k , v in o . iteritems ( ) : # < < < < < < < < < < < < < <
* self . pack ( k )
* self . pack ( v )
*/
2009-06-16 01:58:07 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_7 ) ;
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
} else {
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
}
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_7 ) ; __pyx_t_7 = 0 ;
2009-06-08 01:43:50 +09:00
for ( ; ; ) {
2009-06-16 01:58:07 +09:00
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 + + ;
2009-06-08 01:43:50 +09:00
} else {
2009-06-16 01:58:07 +09:00
__pyx_t_7 = PyIter_Next ( __pyx_t_8 ) ;
if ( ! __pyx_t_7 ) {
2009-06-09 13:12:29 +09:00
if ( unlikely ( PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 134 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
break ;
}
2009-06-16 01:58:07 +09:00
__Pyx_GOTREF ( __pyx_t_7 ) ;
2009-06-08 01:43:50 +09:00
}
2009-06-16 01:58:07 +09:00
if ( PyTuple_CheckExact ( __pyx_t_7 ) & & likely ( PyTuple_GET_SIZE ( __pyx_t_7 ) = = 2 ) ) {
PyObject * tuple = __pyx_t_7 ;
2009-06-08 01:43:50 +09:00
__pyx_2 = PyTuple_GET_ITEM ( tuple , 0 ) ; __Pyx_INCREF ( __pyx_2 ) ;
__pyx_3 = PyTuple_GET_ITEM ( tuple , 1 ) ; __Pyx_INCREF ( __pyx_3 ) ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_7 ) ; __pyx_t_7 = 0 ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( __pyx_v_k ) ;
__pyx_v_k = __pyx_2 ;
__pyx_2 = 0 ;
__Pyx_DECREF ( __pyx_v_v ) ;
__pyx_v_v = __pyx_3 ;
__pyx_3 = 0 ;
} else {
2009-06-16 01:58:07 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_1 ) ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_7 ) ; __pyx_t_7 = 0 ;
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_2 ) ;
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_3 ) ;
2009-06-09 13:12:29 +09:00
if ( __Pyx_EndUnpack ( __pyx_1 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 134 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( __pyx_1 ) ; __pyx_1 = 0 ;
__Pyx_DECREF ( __pyx_v_k ) ;
__pyx_v_k = __pyx_2 ;
__pyx_2 = 0 ;
__Pyx_DECREF ( __pyx_v_v ) ;
__pyx_v_v = __pyx_3 ;
__pyx_3 = 0 ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":135
2009-06-08 01:43:50 +09:00
* msgpack_pack_map ( & self . pk , len ( o ) )
* for k , v in o . iteritems ( ) :
* self . pack ( k ) # < < < < < < < < < < < < < <
* self . pack ( v )
* elif isinstance ( o , tuple ) or isinstance ( o , list ) :
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__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 ) ;
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_9 ) ; __pyx_t_9 = 0 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":136
2009-06-08 01:43:50 +09:00
* for k , v in o . iteritems ( ) :
* self . pack ( k )
* self . pack ( v ) # < < < < < < < < < < < < < <
* elif isinstance ( o , tuple ) or isinstance ( o , list ) :
* msgpack_pack_array ( & self . pk , len ( o ) )
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__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 ) ;
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_7 ) ; __pyx_t_7 = 0 ;
2009-06-08 01:43:50 +09:00
}
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_8 ) ; __pyx_t_8 = 0 ;
2009-06-09 13:12:29 +09:00
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":137
2009-06-08 01:43:50 +09:00
* self . pack ( k )
* self . pack ( v )
* elif isinstance ( o , tuple ) or isinstance ( o , list ) : # < < < < < < < < < < < < < <
* msgpack_pack_array ( & self . pk , len ( o ) )
* for v in o :
*/
__pyx_t_1 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyTuple_Type ) ) ) ;
if ( ! __pyx_t_1 ) {
2009-06-16 01:58:07 +09:00
__pyx_t_10 = PyObject_TypeCheck ( __pyx_v_o , ( ( PyTypeObject * ) ( ( PyObject * ) & PyList_Type ) ) ) ;
__pyx_t_11 = __pyx_t_10 ;
2009-06-08 01:43:50 +09:00
} else {
2009-06-16 01:58:07 +09:00
__pyx_t_11 = __pyx_t_1 ;
2009-06-08 01:43:50 +09:00
}
2009-06-16 01:58:07 +09:00
if ( __pyx_t_11 ) {
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":138
2009-06-08 01:43:50 +09:00
* self . pack ( v )
* elif isinstance ( o , tuple ) or isinstance ( o , list ) :
* msgpack_pack_array ( & self . pk , len ( o ) ) # < < < < < < < < < < < < < <
* for v in o :
* self . pack ( v )
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":139
2009-06-08 01:43:50 +09:00
* elif isinstance ( o , tuple ) or isinstance ( o , list ) :
* msgpack_pack_array ( & self . pk , len ( o ) )
* for v in o : # < < < < < < < < < < < < < <
* self . pack ( v )
* else :
*/
if ( PyList_CheckExact ( __pyx_v_o ) | | PyTuple_CheckExact ( __pyx_v_o ) ) {
2009-06-16 01:58:07 +09:00
__pyx_t_6 = 0 ; __pyx_t_8 = __pyx_v_o ; __Pyx_INCREF ( __pyx_t_8 ) ;
2009-06-08 01:43:50 +09:00
} else {
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-08 01:43:50 +09:00
}
for ( ; ; ) {
2009-06-16 01:58:07 +09:00
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 + + ;
2009-06-08 01:43:50 +09:00
} else {
2009-06-16 01:58:07 +09:00
__pyx_t_7 = PyIter_Next ( __pyx_t_8 ) ;
if ( ! __pyx_t_7 ) {
2009-06-09 13:12:29 +09:00
if ( unlikely ( PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 139 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
break ;
}
2009-06-16 01:58:07 +09:00
__Pyx_GOTREF ( __pyx_t_7 ) ;
2009-06-08 01:43:50 +09:00
}
__Pyx_DECREF ( __pyx_v_v ) ;
2009-06-16 01:58:07 +09:00
__pyx_v_v = __pyx_t_7 ;
__pyx_t_7 = 0 ;
2009-06-08 01:43:50 +09:00
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":140
2009-06-08 01:43:50 +09:00
* msgpack_pack_array ( & self . pk , len ( o ) )
* for v in o :
* self . pack ( v ) # < < < < < < < < < < < < < <
* else :
* # TODO : Serialize with defalt ( ) like simplejson .
*/
2009-06-16 01:58:07 +09:00
__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 ) ;
2009-06-09 13:12:29 +09:00
__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 ; }
2009-06-08 01:43:50 +09:00
__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 ) ;
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_9 ) ; __pyx_t_9 = 0 ;
2009-06-08 01:43:50 +09:00
}
2009-06-16 01:58:07 +09:00
__Pyx_DECREF ( __pyx_t_8 ) ; __pyx_t_8 = 0 ;
2009-06-09 13:12:29 +09:00
goto __pyx_L3 ;
2009-06-08 01:43:50 +09:00
}
/*else*/ {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":143
2009-06-08 01:43:50 +09:00
* else :
* # TODO : Serialize with defalt ( ) like simplejson .
* raise TypeError , " can't serialize %r " % ( o , ) # < < < < < < < < < < < < < <
*
2009-06-09 13:12:29 +09:00
* def pack ( self , obj , flush = True ) :
2009-06-08 01:43:50 +09:00
*/
2009-06-16 01:58:07 +09:00
__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 ) ) ;
2009-06-08 01:43:50 +09:00
__Pyx_INCREF ( __pyx_v_o ) ;
2009-06-16 01:58:07 +09:00
PyTuple_SET_ITEM ( __pyx_t_8 , 0 , __pyx_v_o ) ;
2009-06-08 01:43:50 +09:00
__Pyx_GIVEREF ( __pyx_v_o ) ;
2009-06-16 01:58:07 +09:00
__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 ;
2009-06-09 13:12:29 +09:00
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 143 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
}
2009-06-09 13:12:29 +09:00
__pyx_L3 : ;
2009-06-08 01:43:50 +09:00
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_1 ) ;
__Pyx_XDECREF ( __pyx_2 ) ;
__Pyx_XDECREF ( __pyx_3 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_7 ) ;
__Pyx_XDECREF ( __pyx_t_8 ) ;
2009-06-16 01:58:07 +09:00
__Pyx_XDECREF ( __pyx_t_9 ) ;
2009-06-09 13:12:29 +09:00
__Pyx_AddTraceback ( " msgpack.Packer.__pack " ) ;
__pyx_r = 0 ;
2009-06-08 01:43:50 +09:00
__pyx_L0 : ;
__Pyx_DECREF ( __pyx_v_k ) ;
__Pyx_DECREF ( __pyx_v_v ) ;
__Pyx_DECREF ( __pyx_v_o ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":145
2009-06-08 01:43:50 +09:00
* raise TypeError , " can't serialize %r " % ( o , )
*
2009-06-09 13:12:29 +09:00
* def pack ( self , obj , flush = True ) : # < < < < < < < < < < < < < <
* self . __pack ( obj )
* if flush :
*/
static PyObject * __pyx_pf_7msgpack_6Packer_pack ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
static PyObject * __pyx_pf_7msgpack_6Packer_pack ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
PyObject * __pyx_v_obj = 0 ;
PyObject * __pyx_v_flush = 0 ;
PyObject * __pyx_r = NULL ;
PyObject * __pyx_t_1 = NULL ;
int __pyx_t_2 ;
PyObject * __pyx_t_3 = NULL ;
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_kp_obj , & __pyx_kp_flush , 0 } ;
__Pyx_SetupRefcountContext ( " pack " ) ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args = PyDict_Size ( __pyx_kwds ) ;
PyObject * values [ 2 ] = { 0 , 0 } ;
values [ 1 ] = __pyx_k_1 ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : values [ 1 ] = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : values [ 0 ] = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
case 0 : break ;
default : goto __pyx_L5_argtuple_error ;
}
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 0 :
values [ 0 ] = PyDict_GetItem ( __pyx_kwds , __pyx_kp_obj ) ;
if ( likely ( values [ 0 ] ) ) kw_args - - ;
else goto __pyx_L5_argtuple_error ;
case 1 :
if ( kw_args > 1 ) {
PyObject * value = PyDict_GetItem ( __pyx_kwds , __pyx_kp_flush ) ;
if ( unlikely ( value ) ) { values [ 1 ] = value ; kw_args - - ; }
}
}
if ( unlikely ( kw_args > 0 ) ) {
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , PyTuple_GET_SIZE ( __pyx_args ) , " pack " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 145 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
}
__pyx_v_obj = values [ 0 ] ;
__pyx_v_flush = values [ 1 ] ;
} else {
__pyx_v_flush = __pyx_k_1 ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : __pyx_v_flush = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : __pyx_v_obj = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
break ;
default : goto __pyx_L5_argtuple_error ;
}
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
__Pyx_RaiseArgtupleInvalid ( " pack " , 0 , 1 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 145 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
__pyx_L3_error : ;
__Pyx_AddTraceback ( " msgpack.Packer.pack " ) ;
return NULL ;
__pyx_L4_argument_unpacking_done : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":146
2009-06-09 13:12:29 +09:00
*
* def pack ( self , obj , flush = True ) :
* self . __pack ( obj ) # < < < < < < < < < < < < < <
* if flush :
* self . flush ( )
*/
__pyx_t_1 = ( ( struct __pyx_vtabstruct_7msgpack_Packer * ) ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) - > __pyx_vtab ) - > __pack ( ( ( struct __pyx_obj_7msgpack_Packer * ) __pyx_v_self ) , __pyx_v_obj ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 146 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":147
2009-06-09 13:12:29 +09:00
* def pack ( self , obj , flush = True ) :
* self . __pack ( obj )
* if flush : # < < < < < < < < < < < < < <
* self . flush ( )
*
*/
__pyx_t_2 = __Pyx_PyObject_IsTrue ( __pyx_v_flush ) ; if ( unlikely ( __pyx_t_2 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 147 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( __pyx_t_2 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":148
2009-06-09 13:12:29 +09:00
* self . __pack ( obj )
* if flush :
* self . flush ( ) # < < < < < < < < < < < < < <
*
* cdef int _packer_write ( Packer packer , const_char_ptr b , unsigned int l ) :
*/
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_self , __pyx_kp_flush ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 148 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_t_3 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 148 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
goto __pyx_L6 ;
}
__pyx_L6 : ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_AddTraceback ( " msgpack.Packer.pack " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":150
2009-06-09 13:12:29 +09:00
* self . flush ( )
*
2009-06-08 01:43:50 +09:00
* cdef int _packer_write ( Packer packer , const_char_ptr b , unsigned int l ) : # < < < < < < < < < < < < < <
* if packer . length + l > packer . allocated :
* if packer . length > 0 :
*/
static int __pyx_f_7msgpack__packer_write ( struct __pyx_obj_7msgpack_Packer * __pyx_v_packer , const char * __pyx_v_b , unsigned int __pyx_v_l ) {
int __pyx_r ;
int __pyx_t_1 ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
PyObject * __pyx_t_4 = NULL ;
__Pyx_SetupRefcountContext ( " _packer_write " ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":151
2009-06-08 01:43:50 +09:00
*
* cdef int _packer_write ( Packer packer , const_char_ptr b , unsigned int l ) :
* if packer . length + l > packer . allocated : # < < < < < < < < < < < < < <
* if packer . length > 0 :
* packer . strm . write ( PyString_FromStringAndSize ( packer . buff , packer . length ) )
*/
__pyx_t_1 = ( ( __pyx_v_packer - > length + __pyx_v_l ) > __pyx_v_packer - > allocated ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":152
2009-06-08 01:43:50 +09:00
* cdef int _packer_write ( Packer packer , const_char_ptr b , unsigned int l ) :
* if packer . length + l > packer . allocated :
* if packer . length > 0 : # < < < < < < < < < < < < < <
* packer . strm . write ( PyString_FromStringAndSize ( packer . buff , packer . length ) )
* if l > 64 :
*/
__pyx_t_1 = ( __pyx_v_packer - > length > 0 ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":153
2009-06-08 01:43:50 +09:00
* if packer . length + l > packer . allocated :
* if packer . length > 0 :
* packer . strm . write ( PyString_FromStringAndSize ( packer . buff , packer . length ) ) # < < < < < < < < < < < < < <
* if l > 64 :
* packer . strm . write ( PyString_FromStringAndSize ( b , l ) )
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_v_packer - > strm , __pyx_kp_write ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 153 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyString_FromStringAndSize ( __pyx_v_packer - > buff , __pyx_v_packer - > length ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 153 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_4 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 153 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_4 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_4 , 0 , __pyx_t_3 ) ;
__Pyx_GIVEREF ( __pyx_t_3 ) ;
__pyx_t_3 = 0 ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_Call ( __pyx_t_2 , ( ( PyObject * ) __pyx_t_4 ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 153 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_4 ) ) ; __pyx_t_4 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
goto __pyx_L4 ;
}
__pyx_L4 : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":154
2009-06-08 01:43:50 +09:00
* if packer . length > 0 :
* packer . strm . write ( PyString_FromStringAndSize ( packer . buff , packer . length ) )
* if l > 64 : # < < < < < < < < < < < < < <
* packer . strm . write ( PyString_FromStringAndSize ( b , l ) )
* packer . length = 0
*/
__pyx_t_1 = ( __pyx_v_l > 64 ) ;
if ( __pyx_t_1 ) {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":155
2009-06-08 01:43:50 +09:00
* packer . strm . write ( PyString_FromStringAndSize ( packer . buff , packer . length ) )
* if l > 64 :
* packer . strm . write ( PyString_FromStringAndSize ( b , l ) ) # < < < < < < < < < < < < < <
* packer . length = 0
* else :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_GetAttr ( __pyx_v_packer - > strm , __pyx_kp_write ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 155 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_4 = PyString_FromStringAndSize ( __pyx_v_b , __pyx_v_l ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 155 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 155 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_2 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_2 , 0 , __pyx_t_4 ) ;
__Pyx_GIVEREF ( __pyx_t_4 ) ;
__pyx_t_4 = 0 ;
2009-06-09 13:12:29 +09:00
__pyx_t_4 = PyObject_Call ( __pyx_t_3 , ( ( PyObject * ) __pyx_t_2 ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 155 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":156
2009-06-08 01:43:50 +09:00
* if l > 64 :
* packer . strm . write ( PyString_FromStringAndSize ( b , l ) )
* packer . length = 0 # < < < < < < < < < < < < < <
* else :
* memcpy ( packer . buff , b , l )
*/
__pyx_v_packer - > length = 0 ;
goto __pyx_L5 ;
}
/*else*/ {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":158
2009-06-08 01:43:50 +09:00
* packer . length = 0
* else :
* memcpy ( packer . buff , b , l ) # < < < < < < < < < < < < < <
* packer . length = l
* else :
*/
memcpy ( __pyx_v_packer - > buff , __pyx_v_b , __pyx_v_l ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":159
2009-06-08 01:43:50 +09:00
* else :
* memcpy ( packer . buff , b , l )
* packer . length = l # < < < < < < < < < < < < < <
* else :
* memcpy ( packer . buff + packer . length , b , l )
*/
__pyx_v_packer - > length = __pyx_v_l ;
}
__pyx_L5 : ;
goto __pyx_L3 ;
}
/*else*/ {
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":161
2009-06-08 01:43:50 +09:00
* packer . length = l
* else :
* memcpy ( packer . buff + packer . length , b , l ) # < < < < < < < < < < < < < <
* packer . length + = l
* return 0
*/
memcpy ( ( __pyx_v_packer - > buff + __pyx_v_packer - > length ) , __pyx_v_b , __pyx_v_l ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":162
2009-06-08 01:43:50 +09:00
* else :
* memcpy ( packer . buff + packer . length , b , l )
* packer . length + = l # < < < < < < < < < < < < < <
* return 0
*
*/
__pyx_v_packer - > length + = __pyx_v_l ;
}
__pyx_L3 : ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":163
2009-06-08 01:43:50 +09:00
* memcpy ( packer . buff + packer . length , b , l )
* packer . length + = l
* return 0 # < < < < < < < < < < < < < <
*
* def pack ( object o , object stream ) :
*/
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_WriteUnraisable ( " msgpack._packer_write " ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":165
2009-06-08 01:43:50 +09:00
* return 0
*
* def pack ( object o , object stream ) : # < < < < < < < < < < < < < <
* packer = Packer ( stream )
* packer . pack ( o )
*/
static PyObject * __pyx_pf_7msgpack_pack ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
static PyObject * __pyx_pf_7msgpack_pack ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
PyObject * __pyx_v_o = 0 ;
PyObject * __pyx_v_stream = 0 ;
PyObject * __pyx_v_packer ;
PyObject * __pyx_r = NULL ;
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_kp_o , & __pyx_kp_stream , 0 } ;
__Pyx_SetupRefcountContext ( " pack " ) ;
__pyx_self = __pyx_self ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args = PyDict_Size ( __pyx_kwds ) ;
PyObject * values [ 2 ] = { 0 , 0 } ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : values [ 1 ] = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : values [ 0 ] = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
case 0 : break ;
default : goto __pyx_L5_argtuple_error ;
}
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 0 :
values [ 0 ] = PyDict_GetItem ( __pyx_kwds , __pyx_kp_o ) ;
if ( likely ( values [ 0 ] ) ) kw_args - - ;
else goto __pyx_L5_argtuple_error ;
case 1 :
values [ 1 ] = PyDict_GetItem ( __pyx_kwds , __pyx_kp_stream ) ;
if ( likely ( values [ 1 ] ) ) kw_args - - ;
else {
2009-06-09 13:12:29 +09:00
__Pyx_RaiseArgtupleInvalid ( " pack " , 1 , 2 , 2 , 1 ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 165 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2009-06-08 01:43:50 +09:00
}
}
if ( unlikely ( kw_args > 0 ) ) {
2009-06-09 13:12:29 +09:00
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , PyTuple_GET_SIZE ( __pyx_args ) , " pack " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 165 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2009-06-08 01:43:50 +09:00
}
__pyx_v_o = values [ 0 ] ;
__pyx_v_stream = values [ 1 ] ;
} else if ( PyTuple_GET_SIZE ( __pyx_args ) ! = 2 ) {
goto __pyx_L5_argtuple_error ;
} else {
__pyx_v_o = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
__pyx_v_stream = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
2009-06-09 13:12:29 +09:00
__Pyx_RaiseArgtupleInvalid ( " pack " , 1 , 2 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 165 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2009-06-08 01:43:50 +09:00
__pyx_L3_error : ;
__Pyx_AddTraceback ( " msgpack.pack " ) ;
return NULL ;
__pyx_L4_argument_unpacking_done : ;
__pyx_v_packer = Py_None ; __Pyx_INCREF ( Py_None ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":166
2009-06-08 01:43:50 +09:00
*
* def pack ( object o , object stream ) :
* packer = Packer ( stream ) # < < < < < < < < < < < < < <
* packer . pack ( o )
* packer . flush ( )
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 166 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
__Pyx_INCREF ( __pyx_v_stream ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , __pyx_v_stream ) ;
__Pyx_GIVEREF ( __pyx_v_stream ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_Call ( ( ( PyObject * ) ( ( PyObject * ) __pyx_ptype_7msgpack_Packer ) ) , ( ( PyObject * ) __pyx_t_1 ) , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 166 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_v_packer ) ;
__pyx_v_packer = __pyx_t_2 ;
__pyx_t_2 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":167
2009-06-08 01:43:50 +09:00
* def pack ( object o , object stream ) :
* packer = Packer ( stream )
* packer . pack ( o ) # < < < < < < < < < < < < < <
* packer . flush ( )
*
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_v_packer , __pyx_kp_pack ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 167 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 167 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
__Pyx_INCREF ( __pyx_v_o ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , __pyx_v_o ) ;
__Pyx_GIVEREF ( __pyx_v_o ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_Call ( __pyx_t_2 , ( ( PyObject * ) __pyx_t_1 ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 167 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":168
2009-06-08 01:43:50 +09:00
* packer = Packer ( stream )
* packer . pack ( o )
* packer . flush ( ) # < < < < < < < < < < < < < <
*
* def packs ( object o ) :
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_GetAttr ( __pyx_v_packer , __pyx_kp_flush ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 168 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_Call ( __pyx_t_3 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 168 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_AddTraceback ( " msgpack.pack " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_DECREF ( __pyx_v_packer ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":170
2009-06-08 01:43:50 +09:00
* packer . flush ( )
*
* def packs ( object o ) : # < < < < < < < < < < < < < <
* buf = StringIO ( )
* packer = Packer ( buf )
*/
static PyObject * __pyx_pf_7msgpack_packs ( PyObject * __pyx_self , PyObject * __pyx_v_o ) ; /*proto*/
static PyObject * __pyx_pf_7msgpack_packs ( PyObject * __pyx_self , PyObject * __pyx_v_o ) {
PyObject * __pyx_v_buf ;
PyObject * __pyx_v_packer ;
PyObject * __pyx_r = NULL ;
PyObject * __pyx_1 = 0 ;
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
__Pyx_SetupRefcountContext ( " packs " ) ;
__pyx_self = __pyx_self ;
__pyx_v_buf = Py_None ; __Pyx_INCREF ( Py_None ) ;
__pyx_v_packer = Py_None ; __Pyx_INCREF ( Py_None ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":171
2009-06-08 01:43:50 +09:00
*
* def packs ( object o ) :
* buf = StringIO ( ) # < < < < < < < < < < < < < <
* packer = Packer ( buf )
* packer . pack ( o )
*/
2009-06-09 13:12:29 +09:00
__pyx_1 = __Pyx_GetName ( __pyx_m , __pyx_kp_StringIO ) ; if ( unlikely ( ! __pyx_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 171 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_1 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_Call ( __pyx_1 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 171 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_1 ) ; __pyx_1 = 0 ;
__Pyx_DECREF ( __pyx_v_buf ) ;
__pyx_v_buf = __pyx_t_1 ;
__pyx_t_1 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":172
2009-06-08 01:43:50 +09:00
* def packs ( object o ) :
* buf = StringIO ( )
* packer = Packer ( buf ) # < < < < < < < < < < < < < <
* packer . pack ( o )
* packer . flush ( )
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 172 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
__Pyx_INCREF ( __pyx_v_buf ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , __pyx_v_buf ) ;
__Pyx_GIVEREF ( __pyx_v_buf ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_Call ( ( ( PyObject * ) ( ( PyObject * ) __pyx_ptype_7msgpack_Packer ) ) , ( ( PyObject * ) __pyx_t_1 ) , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 172 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_v_packer ) ;
__pyx_v_packer = __pyx_t_2 ;
__pyx_t_2 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":173
2009-06-08 01:43:50 +09:00
* buf = StringIO ( )
* packer = Packer ( buf )
* packer . pack ( o ) # < < < < < < < < < < < < < <
* packer . flush ( )
* return buf . getvalue ( )
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_v_packer , __pyx_kp_pack ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 173 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 173 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
__Pyx_INCREF ( __pyx_v_o ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , __pyx_v_o ) ;
__Pyx_GIVEREF ( __pyx_v_o ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_Call ( __pyx_t_2 , ( ( PyObject * ) __pyx_t_1 ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 173 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":174
2009-06-08 01:43:50 +09:00
* packer = Packer ( buf )
* packer . pack ( o )
* packer . flush ( ) # < < < < < < < < < < < < < <
* return buf . getvalue ( )
*
*/
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_GetAttr ( __pyx_v_packer , __pyx_kp_flush ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 174 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_Call ( __pyx_t_3 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 174 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":175
2009-06-08 01:43:50 +09:00
* packer . pack ( o )
* packer . flush ( )
* return buf . getvalue ( ) # < < < < < < < < < < < < < <
*
* cdef extern from " unpack.h " :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_buf , __pyx_kp_getvalue ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 175 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 175 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_r = __pyx_t_3 ;
__pyx_t_3 = 0 ;
goto __pyx_L0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_1 ) ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_AddTraceback ( " msgpack.packs " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_DECREF ( __pyx_v_buf ) ;
__Pyx_DECREF ( __pyx_v_packer ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":186
2009-06-08 01:43:50 +09:00
*
*
* def unpacks ( object packed_bytes ) : # < < < < < < < < < < < < < <
* " " " Unpack packed_bytes to object. Returns unpacked object. " " "
* cdef const_char_ptr p = packed_bytes
*/
static PyObject * __pyx_pf_7msgpack_unpacks ( PyObject * __pyx_self , PyObject * __pyx_v_packed_bytes ) ; /*proto*/
static char __pyx_doc_7msgpack_unpacks [ ] = " Unpack packed_bytes to object. Returns unpacked object. " ;
static PyObject * __pyx_pf_7msgpack_unpacks ( PyObject * __pyx_self , PyObject * __pyx_v_packed_bytes ) {
const char * __pyx_v_p ;
template_context __pyx_v_ctx ;
size_t __pyx_v_off ;
PyObject * __pyx_r = NULL ;
const char * __pyx_t_1 ;
Py_ssize_t __pyx_t_2 ;
2009-06-08 12:46:02 +09:00
PyObject * __pyx_t_3 = NULL ;
2009-06-08 01:43:50 +09:00
__Pyx_SetupRefcountContext ( " unpacks " ) ;
__pyx_self = __pyx_self ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":188
2009-06-08 01:43:50 +09:00
* def unpacks ( object packed_bytes ) :
* " " " Unpack packed_bytes to object. Returns unpacked object. " " "
* cdef const_char_ptr p = packed_bytes # < < < < < < < < < < < < < <
* cdef template_context ctx
* cdef size_t off = 0
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = __Pyx_PyBytes_AsString ( __pyx_v_packed_bytes ) ; if ( unlikely ( ( ! __pyx_t_1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 188 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__pyx_v_p = __pyx_t_1 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":190
2009-06-08 01:43:50 +09:00
* cdef const_char_ptr p = packed_bytes
* cdef template_context ctx
* cdef size_t off = 0 # < < < < < < < < < < < < < <
* template_init ( & ctx )
* template_execute ( & ctx , p , len ( packed_bytes ) , & off )
*/
__pyx_v_off = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":191
2009-06-08 01:43:50 +09:00
* cdef template_context ctx
* cdef size_t off = 0
* template_init ( & ctx ) # < < < < < < < < < < < < < <
* template_execute ( & ctx , p , len ( packed_bytes ) , & off )
2009-06-08 12:46:02 +09:00
* return template_data ( & ctx )
2009-06-08 01:43:50 +09:00
*/
template_init ( ( & __pyx_v_ctx ) ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":192
2009-06-08 01:43:50 +09:00
* cdef size_t off = 0
* template_init ( & ctx )
* template_execute ( & ctx , p , len ( packed_bytes ) , & off ) # < < < < < < < < < < < < < <
2009-06-08 12:46:02 +09:00
* return template_data ( & ctx )
2009-06-08 01:43:50 +09:00
*
*/
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_Length ( __pyx_v_packed_bytes ) ; if ( unlikely ( __pyx_t_2 = = - 1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 192 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
template_execute ( ( & __pyx_v_ctx ) , __pyx_v_p , __pyx_t_2 , ( & __pyx_v_off ) ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":193
2009-06-08 01:43:50 +09:00
* template_init ( & ctx )
* template_execute ( & ctx , p , len ( packed_bytes ) , & off )
2009-06-08 12:46:02 +09:00
* return template_data ( & ctx ) # < < < < < < < < < < < < < <
2009-06-08 01:43:50 +09:00
*
* def unpack ( object stream ) :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_3 = template_data ( ( & __pyx_v_ctx ) ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 193 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 12:46:02 +09:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__pyx_r = __pyx_t_3 ;
__pyx_t_3 = 0 ;
2009-06-08 01:43:50 +09:00
goto __pyx_L0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
2009-06-08 12:46:02 +09:00
__Pyx_XDECREF ( __pyx_t_3 ) ;
2009-06-08 01:43:50 +09:00
__Pyx_AddTraceback ( " msgpack.unpacks " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":195
2009-06-08 12:46:02 +09:00
* return template_data ( & ctx )
2009-06-08 01:43:50 +09:00
*
* def unpack ( object stream ) : # < < < < < < < < < < < < < <
* " " " unpack from stream. " " "
* packed = stream . read ( )
*/
static PyObject * __pyx_pf_7msgpack_unpack ( PyObject * __pyx_self , PyObject * __pyx_v_stream ) ; /*proto*/
static char __pyx_doc_7msgpack_unpack [ ] = " unpack from stream. " ;
static PyObject * __pyx_pf_7msgpack_unpack ( PyObject * __pyx_self , PyObject * __pyx_v_stream ) {
PyObject * __pyx_v_packed ;
PyObject * __pyx_r = NULL ;
PyObject * __pyx_1 = 0 ;
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
__Pyx_SetupRefcountContext ( " unpack " ) ;
__pyx_self = __pyx_self ;
__pyx_v_packed = Py_None ; __Pyx_INCREF ( Py_None ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":197
2009-06-08 01:43:50 +09:00
* def unpack ( object stream ) :
* " " " unpack from stream. " " "
* packed = stream . read ( ) # < < < < < < < < < < < < < <
* return unpacks ( packed )
*
*/
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_stream , __pyx_kp_read ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 197 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_empty_tuple ) , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 197 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_v_packed ) ;
__pyx_v_packed = __pyx_t_2 ;
__pyx_t_2 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":198
2009-06-08 01:43:50 +09:00
* " " " unpack from stream. " " "
* packed = stream . read ( )
* return unpacks ( packed ) # < < < < < < < < < < < < < <
*
* cdef class Unpacker :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2009-06-09 13:12:29 +09:00
__pyx_1 = __Pyx_GetName ( __pyx_m , __pyx_kp_unpacks ) ; if ( unlikely ( ! __pyx_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 198 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_1 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 198 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_2 ) ) ;
__Pyx_INCREF ( __pyx_v_packed ) ;
PyTuple_SET_ITEM ( __pyx_t_2 , 0 , __pyx_v_packed ) ;
__Pyx_GIVEREF ( __pyx_v_packed ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyObject_Call ( __pyx_1 , ( ( PyObject * ) __pyx_t_2 ) , NULL ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 198 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_1 ) ; __pyx_1 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
__pyx_r = __pyx_t_1 ;
__pyx_t_1 = 0 ;
goto __pyx_L0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_1 ) ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_AddTraceback ( " msgpack.unpack " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_DECREF ( __pyx_v_packed ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_FinishRefcountContext ( ) ;
return __pyx_r ;
}
2009-06-09 13:12:29 +09:00
static struct __pyx_vtabstruct_7msgpack_Packer __pyx_vtable_7msgpack_Packer ;
2009-06-08 01:43:50 +09:00
static PyObject * __pyx_tp_new_7msgpack_Packer ( PyTypeObject * t , PyObject * a , PyObject * k ) {
struct __pyx_obj_7msgpack_Packer * p ;
PyObject * o = ( * t - > tp_alloc ) ( t , 0 ) ;
if ( ! o ) return 0 ;
p = ( ( struct __pyx_obj_7msgpack_Packer * ) o ) ;
2009-06-09 13:12:29 +09:00
p - > __pyx_vtab = __pyx_vtabptr_7msgpack_Packer ;
2009-06-08 01:43:50 +09:00
p - > strm = Py_None ; Py_INCREF ( Py_None ) ;
return o ;
}
static void __pyx_tp_dealloc_7msgpack_Packer ( PyObject * o ) {
struct __pyx_obj_7msgpack_Packer * p = ( struct __pyx_obj_7msgpack_Packer * ) o ;
Py_XDECREF ( p - > strm ) ;
( * Py_TYPE ( o ) - > tp_free ) ( o ) ;
}
static int __pyx_tp_traverse_7msgpack_Packer ( PyObject * o , visitproc v , void * a ) {
int e ;
struct __pyx_obj_7msgpack_Packer * p = ( struct __pyx_obj_7msgpack_Packer * ) o ;
if ( p - > strm ) {
e = ( * v ) ( p - > strm , a ) ; if ( e ) return e ;
}
return 0 ;
}
static int __pyx_tp_clear_7msgpack_Packer ( PyObject * o ) {
struct __pyx_obj_7msgpack_Packer * p = ( struct __pyx_obj_7msgpack_Packer * ) o ;
PyObject * tmp ;
tmp = ( ( PyObject * ) p - > strm ) ;
p - > strm = Py_None ; Py_INCREF ( Py_None ) ;
Py_XDECREF ( tmp ) ;
return 0 ;
}
static struct PyMethodDef __pyx_methods_7msgpack_Packer [ ] = {
2009-06-09 13:12:29 +09:00
{ __Pyx_NAMESTR ( " __del__ " ) , ( PyCFunction ) __pyx_pf_7msgpack_6Packer___del__ , METH_NOARGS , __Pyx_DOCSTR ( 0 ) } ,
2009-06-08 01:43:50 +09:00
{ __Pyx_NAMESTR ( " flush " ) , ( PyCFunction ) __pyx_pf_7msgpack_6Packer_flush , METH_NOARGS , __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_flush ) } ,
{ __Pyx_NAMESTR ( " pack_list " ) , ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack_list , METH_O , __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_pack_list ) } ,
{ __Pyx_NAMESTR ( " pack_dict " ) , ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack_dict , METH_O , __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_pack_dict ) } ,
2009-06-09 13:12:29 +09:00
{ __Pyx_NAMESTR ( " pack " ) , ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack , METH_VARARGS | METH_KEYWORDS , __Pyx_DOCSTR ( 0 ) } ,
2009-06-08 01:43:50 +09:00
{ 0 , 0 , 0 , 0 }
} ;
static PyNumberMethods __pyx_tp_as_number_Packer = {
0 , /*nb_add*/
0 , /*nb_subtract*/
0 , /*nb_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_divide*/
# endif
0 , /*nb_remainder*/
0 , /*nb_divmod*/
0 , /*nb_power*/
0 , /*nb_negative*/
0 , /*nb_positive*/
0 , /*nb_absolute*/
0 , /*nb_nonzero*/
0 , /*nb_invert*/
0 , /*nb_lshift*/
0 , /*nb_rshift*/
0 , /*nb_and*/
0 , /*nb_xor*/
0 , /*nb_or*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_coerce*/
# endif
0 , /*nb_int*/
0 , /*nb_long*/
0 , /*nb_float*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_oct*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*nb_hex*/
# endif
0 , /*nb_inplace_add*/
0 , /*nb_inplace_subtract*/
0 , /*nb_inplace_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_inplace_divide*/
# endif
0 , /*nb_inplace_remainder*/
0 , /*nb_inplace_power*/
0 , /*nb_inplace_lshift*/
0 , /*nb_inplace_rshift*/
0 , /*nb_inplace_and*/
0 , /*nb_inplace_xor*/
0 , /*nb_inplace_or*/
0 , /*nb_floor_divide*/
0 , /*nb_true_divide*/
0 , /*nb_inplace_floor_divide*/
0 , /*nb_inplace_true_divide*/
# if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
0 , /*nb_index*/
# endif
} ;
static PySequenceMethods __pyx_tp_as_sequence_Packer = {
0 , /*sq_length*/
0 , /*sq_concat*/
0 , /*sq_repeat*/
0 , /*sq_item*/
0 , /*sq_slice*/
0 , /*sq_ass_item*/
0 , /*sq_ass_slice*/
0 , /*sq_contains*/
0 , /*sq_inplace_concat*/
0 , /*sq_inplace_repeat*/
} ;
static PyMappingMethods __pyx_tp_as_mapping_Packer = {
0 , /*mp_length*/
0 , /*mp_subscript*/
0 , /*mp_ass_subscript*/
} ;
static PyBufferProcs __pyx_tp_as_buffer_Packer = {
# if PY_MAJOR_VERSION < 3
0 , /*bf_getreadbuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getwritebuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getsegcount*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getcharbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_getbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_releasebuffer*/
# endif
} ;
PyTypeObject __pyx_type_7msgpack_Packer = {
PyVarObject_HEAD_INIT ( 0 , 0 )
__Pyx_NAMESTR ( " msgpack.Packer " ) , /*tp_name*/
sizeof ( struct __pyx_obj_7msgpack_Packer ) , /*tp_basicsize*/
0 , /*tp_itemsize*/
__pyx_tp_dealloc_7msgpack_Packer , /*tp_dealloc*/
0 , /*tp_print*/
0 , /*tp_getattr*/
0 , /*tp_setattr*/
0 , /*tp_compare*/
0 , /*tp_repr*/
& __pyx_tp_as_number_Packer , /*tp_as_number*/
& __pyx_tp_as_sequence_Packer , /*tp_as_sequence*/
& __pyx_tp_as_mapping_Packer , /*tp_as_mapping*/
0 , /*tp_hash*/
0 , /*tp_call*/
0 , /*tp_str*/
0 , /*tp_getattro*/
0 , /*tp_setattro*/
& __pyx_tp_as_buffer_Packer , /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER | Py_TPFLAGS_HAVE_GC , /*tp_flags*/
__Pyx_DOCSTR ( " Packer that pack data into strm. \n \n strm must have `write(bytes)` method. \n size specifies local buffer size. \n " ) , /*tp_doc*/
__pyx_tp_traverse_7msgpack_Packer , /*tp_traverse*/
__pyx_tp_clear_7msgpack_Packer , /*tp_clear*/
0 , /*tp_richcompare*/
0 , /*tp_weaklistoffset*/
0 , /*tp_iter*/
0 , /*tp_iternext*/
__pyx_methods_7msgpack_Packer , /*tp_methods*/
0 , /*tp_members*/
0 , /*tp_getset*/
0 , /*tp_base*/
0 , /*tp_dict*/
0 , /*tp_descr_get*/
0 , /*tp_descr_set*/
0 , /*tp_dictoffset*/
__pyx_pf_7msgpack_6Packer___init__ , /*tp_init*/
0 , /*tp_alloc*/
__pyx_tp_new_7msgpack_Packer , /*tp_new*/
0 , /*tp_free*/
0 , /*tp_is_gc*/
0 , /*tp_bases*/
0 , /*tp_mro*/
0 , /*tp_cache*/
0 , /*tp_subclasses*/
0 , /*tp_weaklist*/
} ;
static PyObject * __pyx_tp_new_7msgpack_Unpacker ( PyTypeObject * t , PyObject * a , PyObject * k ) {
PyObject * o = ( * t - > tp_alloc ) ( t , 0 ) ;
if ( ! o ) return 0 ;
return o ;
}
static void __pyx_tp_dealloc_7msgpack_Unpacker ( PyObject * o ) {
( * Py_TYPE ( o ) - > tp_free ) ( o ) ;
}
static struct PyMethodDef __pyx_methods_7msgpack_Unpacker [ ] = {
{ 0 , 0 , 0 , 0 }
} ;
static PyNumberMethods __pyx_tp_as_number_Unpacker = {
0 , /*nb_add*/
0 , /*nb_subtract*/
0 , /*nb_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_divide*/
# endif
0 , /*nb_remainder*/
0 , /*nb_divmod*/
0 , /*nb_power*/
0 , /*nb_negative*/
0 , /*nb_positive*/
0 , /*nb_absolute*/
0 , /*nb_nonzero*/
0 , /*nb_invert*/
0 , /*nb_lshift*/
0 , /*nb_rshift*/
0 , /*nb_and*/
0 , /*nb_xor*/
0 , /*nb_or*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_coerce*/
# endif
0 , /*nb_int*/
0 , /*nb_long*/
0 , /*nb_float*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_oct*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*nb_hex*/
# endif
0 , /*nb_inplace_add*/
0 , /*nb_inplace_subtract*/
0 , /*nb_inplace_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_inplace_divide*/
# endif
0 , /*nb_inplace_remainder*/
0 , /*nb_inplace_power*/
0 , /*nb_inplace_lshift*/
0 , /*nb_inplace_rshift*/
0 , /*nb_inplace_and*/
0 , /*nb_inplace_xor*/
0 , /*nb_inplace_or*/
0 , /*nb_floor_divide*/
0 , /*nb_true_divide*/
0 , /*nb_inplace_floor_divide*/
0 , /*nb_inplace_true_divide*/
# if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
0 , /*nb_index*/
# endif
} ;
static PySequenceMethods __pyx_tp_as_sequence_Unpacker = {
0 , /*sq_length*/
0 , /*sq_concat*/
0 , /*sq_repeat*/
0 , /*sq_item*/
0 , /*sq_slice*/
0 , /*sq_ass_item*/
0 , /*sq_ass_slice*/
0 , /*sq_contains*/
0 , /*sq_inplace_concat*/
0 , /*sq_inplace_repeat*/
} ;
static PyMappingMethods __pyx_tp_as_mapping_Unpacker = {
0 , /*mp_length*/
0 , /*mp_subscript*/
0 , /*mp_ass_subscript*/
} ;
static PyBufferProcs __pyx_tp_as_buffer_Unpacker = {
# if PY_MAJOR_VERSION < 3
0 , /*bf_getreadbuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getwritebuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getsegcount*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getcharbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_getbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_releasebuffer*/
# endif
} ;
PyTypeObject __pyx_type_7msgpack_Unpacker = {
PyVarObject_HEAD_INIT ( 0 , 0 )
__Pyx_NAMESTR ( " msgpack.Unpacker " ) , /*tp_name*/
sizeof ( struct __pyx_obj_7msgpack_Unpacker ) , /*tp_basicsize*/
0 , /*tp_itemsize*/
__pyx_tp_dealloc_7msgpack_Unpacker , /*tp_dealloc*/
0 , /*tp_print*/
0 , /*tp_getattr*/
0 , /*tp_setattr*/
0 , /*tp_compare*/
0 , /*tp_repr*/
& __pyx_tp_as_number_Unpacker , /*tp_as_number*/
& __pyx_tp_as_sequence_Unpacker , /*tp_as_sequence*/
& __pyx_tp_as_mapping_Unpacker , /*tp_as_mapping*/
0 , /*tp_hash*/
0 , /*tp_call*/
0 , /*tp_str*/
0 , /*tp_getattro*/
0 , /*tp_setattro*/
& __pyx_tp_as_buffer_Unpacker , /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER , /*tp_flags*/
__Pyx_DOCSTR ( " Do nothing. This function is for symmetric to Packer " ) , /*tp_doc*/
0 , /*tp_traverse*/
0 , /*tp_clear*/
0 , /*tp_richcompare*/
0 , /*tp_weaklistoffset*/
0 , /*tp_iter*/
0 , /*tp_iternext*/
__pyx_methods_7msgpack_Unpacker , /*tp_methods*/
0 , /*tp_members*/
0 , /*tp_getset*/
0 , /*tp_base*/
0 , /*tp_dict*/
0 , /*tp_descr_get*/
0 , /*tp_descr_set*/
0 , /*tp_dictoffset*/
0 , /*tp_init*/
0 , /*tp_alloc*/
__pyx_tp_new_7msgpack_Unpacker , /*tp_new*/
0 , /*tp_free*/
0 , /*tp_is_gc*/
0 , /*tp_bases*/
0 , /*tp_mro*/
0 , /*tp_cache*/
0 , /*tp_subclasses*/
0 , /*tp_weaklist*/
} ;
static struct PyMethodDef __pyx_methods [ ] = {
{ __Pyx_NAMESTR ( " pack " ) , ( PyCFunction ) __pyx_pf_7msgpack_pack , METH_VARARGS | METH_KEYWORDS , __Pyx_DOCSTR ( 0 ) } ,
{ __Pyx_NAMESTR ( " packs " ) , ( PyCFunction ) __pyx_pf_7msgpack_packs , METH_O , __Pyx_DOCSTR ( 0 ) } ,
{ __Pyx_NAMESTR ( " unpacks " ) , ( PyCFunction ) __pyx_pf_7msgpack_unpacks , METH_O , __Pyx_DOCSTR ( __pyx_doc_7msgpack_unpacks ) } ,
{ __Pyx_NAMESTR ( " unpack " ) , ( PyCFunction ) __pyx_pf_7msgpack_unpack , METH_O , __Pyx_DOCSTR ( __pyx_doc_7msgpack_unpack ) } ,
{ 0 , 0 , 0 , 0 }
} ;
static void __pyx_init_filenames ( void ) ; /*proto*/
# if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT ,
__Pyx_NAMESTR ( " msgpack " ) ,
0 , /* m_doc */
- 1 , /* m_size */
__pyx_methods /* m_methods */ ,
NULL , /* m_reload */
NULL , /* m_traverse */
NULL , /* m_clear */
NULL /* m_free */
} ;
# endif
static __Pyx_StringTabEntry __pyx_string_tab [ ] = {
{ & __pyx_kp___init__ , __pyx_k___init__ , sizeof ( __pyx_k___init__ ) , 1 , 1 , 1 } ,
2009-06-09 13:12:29 +09:00
{ & __pyx_kp___del__ , __pyx_k___del__ , sizeof ( __pyx_k___del__ ) , 1 , 1 , 1 } ,
2009-06-08 01:43:50 +09:00
{ & __pyx_kp_flush , __pyx_k_flush , sizeof ( __pyx_k_flush ) , 1 , 1 , 1 } ,
{ & __pyx_kp_pack_list , __pyx_k_pack_list , sizeof ( __pyx_k_pack_list ) , 1 , 1 , 1 } ,
{ & __pyx_kp_pack_dict , __pyx_k_pack_dict , sizeof ( __pyx_k_pack_dict ) , 1 , 1 , 1 } ,
{ & __pyx_kp_pack , __pyx_k_pack , sizeof ( __pyx_k_pack ) , 1 , 1 , 1 } ,
{ & __pyx_kp_unpack , __pyx_k_unpack , sizeof ( __pyx_k_unpack ) , 1 , 1 , 1 } ,
{ & __pyx_kp_strm , __pyx_k_strm , sizeof ( __pyx_k_strm ) , 1 , 1 , 1 } ,
{ & __pyx_kp_size , __pyx_k_size , sizeof ( __pyx_k_size ) , 1 , 1 , 1 } ,
{ & __pyx_kp_len , __pyx_k_len , sizeof ( __pyx_k_len ) , 1 , 1 , 1 } ,
2009-06-09 13:12:29 +09:00
{ & __pyx_kp_obj , __pyx_k_obj , sizeof ( __pyx_k_obj ) , 1 , 1 , 1 } ,
2009-06-08 01:43:50 +09:00
{ & __pyx_kp_o , __pyx_k_o , sizeof ( __pyx_k_o ) , 1 , 1 , 1 } ,
{ & __pyx_kp_stream , __pyx_k_stream , sizeof ( __pyx_k_stream ) , 1 , 1 , 1 } ,
{ & __pyx_kp_packed_bytes , __pyx_k_packed_bytes , sizeof ( __pyx_k_packed_bytes ) , 1 , 1 , 1 } ,
{ & __pyx_kp_cStringIO , __pyx_k_cStringIO , sizeof ( __pyx_k_cStringIO ) , 1 , 1 , 1 } ,
{ & __pyx_kp_StringIO , __pyx_k_StringIO , sizeof ( __pyx_k_StringIO ) , 1 , 1 , 1 } ,
{ & __pyx_kp_staticmethod , __pyx_k_staticmethod , sizeof ( __pyx_k_staticmethod ) , 1 , 1 , 1 } ,
{ & __pyx_kp_unpacks , __pyx_k_unpacks , sizeof ( __pyx_k_unpacks ) , 1 , 1 , 1 } ,
{ & __pyx_kp_write , __pyx_k_write , sizeof ( __pyx_k_write ) , 1 , 1 , 1 } ,
2009-06-09 13:12:29 +09:00
{ & __pyx_kp_2 , __pyx_k_2 , sizeof ( __pyx_k_2 ) , 0 , 1 , 0 } ,
2009-06-08 01:43:50 +09:00
{ & __pyx_kp_encode , __pyx_k_encode , sizeof ( __pyx_k_encode ) , 1 , 1 , 1 } ,
{ & __pyx_kp_iteritems , __pyx_k_iteritems , sizeof ( __pyx_k_iteritems ) , 1 , 1 , 1 } ,
{ & __pyx_kp_TypeError , __pyx_k_TypeError , sizeof ( __pyx_k_TypeError ) , 1 , 1 , 1 } ,
{ & __pyx_kp_getvalue , __pyx_k_getvalue , sizeof ( __pyx_k_getvalue ) , 1 , 1 , 1 } ,
{ & __pyx_kp_read , __pyx_k_read , sizeof ( __pyx_k_read ) , 1 , 1 , 1 } ,
{ & __pyx_kp_3 , __pyx_k_3 , sizeof ( __pyx_k_3 ) , 0 , 0 , 0 } ,
2009-06-09 13:12:29 +09:00
{ & __pyx_kp_4 , __pyx_k_4 , sizeof ( __pyx_k_4 ) , 0 , 0 , 0 } ,
2009-06-08 01:43:50 +09:00
{ 0 , 0 , 0 , 0 , 0 , 0 }
} ;
static int __Pyx_InitCachedBuiltins ( void ) {
2009-06-09 13:12:29 +09:00
__pyx_builtin_staticmethod = __Pyx_GetName ( __pyx_b , __pyx_kp_staticmethod ) ; if ( ! __pyx_builtin_staticmethod ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 202 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_builtin_TypeError = __Pyx_GetName ( __pyx_b , __pyx_kp_TypeError ) ; if ( ! __pyx_builtin_TypeError ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 143 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
static int __Pyx_InitGlobals ( void ) {
if ( __Pyx_InitStrings ( __pyx_string_tab ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
# if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initmsgpack ( void ) ; /*proto*/
PyMODINIT_FUNC initmsgpack ( void )
# else
PyMODINIT_FUNC PyInit_msgpack ( void ) ; /*proto*/
PyMODINIT_FUNC PyInit_msgpack ( void )
# endif
{
PyObject * __pyx_1 = 0 ;
PyObject * __pyx_2 = 0 ;
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
# ifdef CYTHON_REFNANNY
void * __pyx_refchk = NULL ;
__Pyx_Refnanny = __Pyx_ImportRefcountAPI ( " refnanny " ) ;
if ( ! __Pyx_Refnanny ) {
PyErr_Clear ( ) ;
__Pyx_Refnanny = __Pyx_ImportRefcountAPI ( " Cython.Runtime.refnanny " ) ;
if ( ! __Pyx_Refnanny )
Py_FatalError ( " failed to import refnanny module " ) ;
}
__pyx_refchk = __Pyx_Refnanny - > NewContext ( " PyMODINIT_FUNC PyInit_msgpack(void) " , __LINE__ , __FILE__ ) ;
# endif
__pyx_empty_tuple = PyTuple_New ( 0 ) ; if ( unlikely ( ! __pyx_empty_tuple ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/*--- Library function declarations ---*/
__pyx_init_filenames ( ) ;
/*--- Threads initialization code ---*/
# if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
# ifdef WITH_THREAD /* Python build with threading support? */
PyEval_InitThreads ( ) ;
# endif
# endif
/*--- Initialize various global constants etc. ---*/
if ( unlikely ( __Pyx_InitGlobals ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/*--- Module creation code ---*/
# if PY_MAJOR_VERSION < 3
__pyx_m = Py_InitModule4 ( __Pyx_NAMESTR ( " msgpack " ) , __pyx_methods , 0 , 0 , PYTHON_API_VERSION ) ;
# else
__pyx_m = PyModule_Create ( & __pyx_moduledef ) ;
# endif
if ( ! __pyx_m ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
# if PY_MAJOR_VERSION < 3
Py_INCREF ( __pyx_m ) ;
# endif
__pyx_b = PyImport_AddModule ( __Pyx_NAMESTR ( __Pyx_BUILTIN_MODULE_NAME ) ) ;
if ( ! __pyx_b ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
if ( __Pyx_SetAttrString ( __pyx_m , " __builtins__ " , __pyx_b ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
/*--- Builtin init code ---*/
if ( unlikely ( __Pyx_InitCachedBuiltins ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_skip_dispatch = 0 ;
/*--- Global init code ---*/
/*--- Function export code ---*/
/*--- Type init code ---*/
2009-06-09 13:12:29 +09:00
__pyx_vtabptr_7msgpack_Packer = & __pyx_vtable_7msgpack_Packer ;
# if PY_MAJOR_VERSION >= 3
__pyx_vtable_7msgpack_Packer . __pack = ( PyObject * ( * ) ( struct __pyx_obj_7msgpack_Packer * , PyObject * ) ) __pyx_f_7msgpack_6Packer___pack ;
# else
* ( void ( * * ) ( void ) ) & __pyx_vtable_7msgpack_Packer . __pack = ( void ( * ) ( void ) ) __pyx_f_7msgpack_6Packer___pack ;
# endif
2009-06-08 01:43:50 +09:00
if ( PyType_Ready ( & __pyx_type_7msgpack_Packer ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 39 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-09 13:12:29 +09:00
if ( __Pyx_SetVtable ( __pyx_type_7msgpack_Packer . tp_dict , __pyx_vtabptr_7msgpack_Packer ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 39 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
if ( __Pyx_SetAttrString ( __pyx_m , " Packer " , ( PyObject * ) & __pyx_type_7msgpack_Packer ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 39 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_ptype_7msgpack_Packer = & __pyx_type_7msgpack_Packer ;
2009-06-09 13:12:29 +09:00
if ( PyType_Ready ( & __pyx_type_7msgpack_Unpacker ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 200 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( __Pyx_SetAttrString ( __pyx_m , " Unpacker " , ( PyObject * ) & __pyx_type_7msgpack_Unpacker ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 200 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__pyx_ptype_7msgpack_Unpacker = & __pyx_type_7msgpack_Unpacker ;
/*--- Type import code ---*/
/*--- Function import code ---*/
/*--- Execution code ---*/
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":3
2009-06-08 01:43:50 +09:00
* # coding : utf - 8
*
* from cStringIO import StringIO # < < < < < < < < < < < < < <
*
* cdef extern from " Python.h " :
*/
__pyx_t_1 = PyList_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 3 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
__Pyx_INCREF ( __pyx_kp_StringIO ) ;
PyList_SET_ITEM ( __pyx_t_1 , 0 , __pyx_kp_StringIO ) ;
__Pyx_GIVEREF ( __pyx_kp_StringIO ) ;
__pyx_1 = __Pyx_Import ( __pyx_kp_cStringIO , ( ( PyObject * ) __pyx_t_1 ) ) ; if ( unlikely ( ! __pyx_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 3 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_1 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
__pyx_2 = PyObject_GetAttr ( __pyx_1 , __pyx_kp_StringIO ) ; if ( unlikely ( ! __pyx_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 3 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_2 ) ;
if ( PyObject_SetAttr ( __pyx_m , __pyx_kp_StringIO , __pyx_2 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 3 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_2 ) ; __pyx_2 = 0 ;
__Pyx_DECREF ( __pyx_1 ) ; __pyx_1 = 0 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":37
2009-06-08 01:43:50 +09:00
*
*
* cdef int BUFF_SIZE = 2 * 1024 # < < < < < < < < < < < < < <
*
* cdef class Packer :
*/
__pyx_v_7msgpack_BUFF_SIZE = 2048 ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":145
2009-06-09 13:12:29 +09:00
* raise TypeError , " can't serialize %r " % ( o , )
*
* def pack ( self , obj , flush = True ) : # < < < < < < < < < < < < < <
* self . __pack ( obj )
* if flush :
*/
__pyx_t_1 = __Pyx_PyBool_FromLong ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 145 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_k_1 = __pyx_t_1 ;
__pyx_t_1 = 0 ;
__Pyx_GIVEREF ( __pyx_k_1 ) ;
2009-06-17 13:45:08 +09:00
/* "/home/inada-n/work/msgpack/msgpack-py/python/msgpack.pyx":202
2009-06-08 01:43:50 +09:00
* cdef class Unpacker :
* " " " Do nothing. This function is for symmetric to Packer " " "
* unpack = staticmethod ( unpacks ) # < < < < < < < < < < < < < <
*/
2009-06-09 13:12:29 +09:00
__pyx_1 = __Pyx_GetName ( __pyx_m , __pyx_kp_unpacks ) ; if ( unlikely ( ! __pyx_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 202 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_1 ) ;
2009-06-09 13:12:29 +09:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 202 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , __pyx_1 ) ;
__Pyx_GIVEREF ( __pyx_1 ) ;
__pyx_1 = 0 ;
2009-06-09 13:12:29 +09:00
__pyx_t_2 = PyObject_Call ( __pyx_builtin_staticmethod , ( ( PyObject * ) __pyx_t_1 ) , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 202 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
2009-06-09 13:12:29 +09:00
if ( PyDict_SetItem ( ( PyObject * ) __pyx_ptype_7msgpack_Unpacker - > tp_dict , __pyx_kp_unpack , __pyx_t_2 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 202 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2009-06-08 01:43:50 +09:00
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
PyType_Modified ( __pyx_ptype_7msgpack_Unpacker ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_1 ) ;
__Pyx_XDECREF ( __pyx_2 ) ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_AddTraceback ( " msgpack " ) ;
Py_DECREF ( __pyx_m ) ; __pyx_m = 0 ;
__pyx_L0 : ;
__Pyx_FinishRefcountContext ( ) ;
# if PY_MAJOR_VERSION < 3
return ;
# else
return __pyx_m ;
# endif
}
static const char * __pyx_filenames [ ] = {
" msgpack.pyx " ,
} ;
/* Runtime support code */
static void __pyx_init_filenames ( void ) {
__pyx_f = __pyx_filenames ;
}
static void __Pyx_RaiseDoubleKeywordsError (
const char * func_name ,
PyObject * kw_name )
{
PyErr_Format ( PyExc_TypeError ,
# if PY_MAJOR_VERSION >= 3
" %s() got multiple values for keyword argument '%U' " , func_name , kw_name ) ;
# else
" %s() got multiple values for keyword argument '%s' " , func_name ,
PyString_AS_STRING ( kw_name ) ) ;
# endif
}
static void __Pyx_RaiseArgtupleInvalid (
const char * func_name ,
int exact ,
Py_ssize_t num_min ,
Py_ssize_t num_max ,
Py_ssize_t num_found )
{
Py_ssize_t num_expected ;
const char * number , * more_or_less ;
if ( num_found < num_min ) {
num_expected = num_min ;
more_or_less = " at least " ;
} else {
num_expected = num_max ;
more_or_less = " at most " ;
}
if ( exact ) {
more_or_less = " exactly " ;
}
number = ( num_expected = = 1 ) ? " " : " s " ;
PyErr_Format ( PyExc_TypeError ,
# if PY_VERSION_HEX < 0x02050000
" %s() takes %s %d positional argument%s (%d given) " ,
# else
" %s() takes %s %zd positional argument%s (%zd given) " ,
# endif
func_name , more_or_less , num_expected , number , num_found ) ;
}
static int __Pyx_ParseOptionalKeywords (
PyObject * kwds ,
PyObject * * argnames [ ] ,
PyObject * kwds2 ,
PyObject * values [ ] ,
Py_ssize_t num_pos_args ,
const char * function_name )
{
PyObject * key = 0 , * value = 0 ;
Py_ssize_t pos = 0 ;
PyObject * * * name ;
PyObject * * * first_kw_arg = argnames + num_pos_args ;
while ( PyDict_Next ( kwds , & pos , & key , & value ) ) {
name = first_kw_arg ;
while ( * name & & ( * * name ! = key ) ) name + + ;
if ( * name ) {
values [ name - argnames ] = value ;
} else {
# if PY_MAJOR_VERSION < 3
if ( unlikely ( ! PyString_CheckExact ( key ) ) & & unlikely ( ! PyString_Check ( key ) ) ) {
# else
if ( unlikely ( ! PyUnicode_CheckExact ( key ) ) & & unlikely ( ! PyUnicode_Check ( key ) ) ) {
# endif
goto invalid_keyword_type ;
} else {
for ( name = first_kw_arg ; * name ; name + + ) {
# if PY_MAJOR_VERSION >= 3
if ( PyUnicode_GET_SIZE ( * * name ) = = PyUnicode_GET_SIZE ( key ) & &
PyUnicode_Compare ( * * name , key ) = = 0 ) break ;
# else
if ( PyString_GET_SIZE ( * * name ) = = PyString_GET_SIZE ( key ) & &
_PyString_Eq ( * * name , key ) ) break ;
# endif
}
if ( * name ) {
values [ name - argnames ] = value ;
} else {
/* unexpected keyword found */
for ( name = argnames ; name ! = first_kw_arg ; name + + ) {
if ( * * name = = key ) goto arg_passed_twice ;
# if PY_MAJOR_VERSION >= 3
if ( PyUnicode_GET_SIZE ( * * name ) = = PyUnicode_GET_SIZE ( key ) & &
PyUnicode_Compare ( * * name , key ) = = 0 ) goto arg_passed_twice ;
# else
if ( PyString_GET_SIZE ( * * name ) = = PyString_GET_SIZE ( key ) & &
_PyString_Eq ( * * name , key ) ) goto arg_passed_twice ;
# endif
}
if ( kwds2 ) {
if ( unlikely ( PyDict_SetItem ( kwds2 , key , value ) ) ) goto bad ;
} else {
goto invalid_keyword ;
}
}
}
}
}
return 0 ;
arg_passed_twice :
__Pyx_RaiseDoubleKeywordsError ( function_name , * * name ) ;
goto bad ;
invalid_keyword_type :
PyErr_Format ( PyExc_TypeError ,
" %s() keywords must be strings " , function_name ) ;
goto bad ;
invalid_keyword :
PyErr_Format ( PyExc_TypeError ,
# if PY_MAJOR_VERSION < 3
" %s() got an unexpected keyword argument '%s' " ,
function_name , PyString_AsString ( key ) ) ;
# else
" %s() got an unexpected keyword argument '%U' " ,
function_name , key ) ;
# endif
bad :
return - 1 ;
}
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list ) {
PyObject * __import__ = 0 ;
PyObject * empty_list = 0 ;
PyObject * module = 0 ;
PyObject * global_dict = 0 ;
PyObject * empty_dict = 0 ;
PyObject * list ;
__import__ = __Pyx_GetAttrString ( __pyx_b , " __import__ " ) ;
if ( ! __import__ )
goto bad ;
if ( from_list )
list = from_list ;
else {
empty_list = PyList_New ( 0 ) ;
if ( ! empty_list )
goto bad ;
list = empty_list ;
}
global_dict = PyModule_GetDict ( __pyx_m ) ;
if ( ! global_dict )
goto bad ;
empty_dict = PyDict_New ( ) ;
if ( ! empty_dict )
goto bad ;
module = PyObject_CallFunctionObjArgs ( __import__ ,
name , global_dict , empty_dict , list , NULL ) ;
bad :
Py_XDECREF ( empty_list ) ;
Py_XDECREF ( __import__ ) ;
Py_XDECREF ( empty_dict ) ;
return module ;
}
static PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) {
PyObject * result ;
result = PyObject_GetAttr ( dict , name ) ;
if ( ! result )
PyErr_SetObject ( PyExc_NameError , name ) ;
return result ;
}
static INLINE void __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t index ) {
PyErr_Format ( PyExc_ValueError ,
# if PY_VERSION_HEX < 0x02050000
" need more than %d value%s to unpack " , ( int ) index ,
# else
" need more than %zd value%s to unpack " , index ,
# endif
( index = = 1 ) ? " " : " s " ) ;
}
static INLINE void __Pyx_RaiseTooManyValuesError ( void ) {
PyErr_SetString ( PyExc_ValueError , " too many values to unpack " ) ;
}
static PyObject * __Pyx_UnpackItem ( PyObject * iter , Py_ssize_t index ) {
PyObject * item ;
if ( ! ( item = PyIter_Next ( iter ) ) ) {
if ( ! PyErr_Occurred ( ) ) {
__Pyx_RaiseNeedMoreValuesError ( index ) ;
}
}
return item ;
}
static int __Pyx_EndUnpack ( PyObject * iter ) {
PyObject * item ;
if ( ( item = PyIter_Next ( iter ) ) ) {
Py_DECREF ( item ) ;
__Pyx_RaiseTooManyValuesError ( ) ;
return - 1 ;
}
else if ( ! PyErr_Occurred ( ) )
return 0 ;
else
return - 1 ;
}
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb ) {
Py_XINCREF ( type ) ;
Py_XINCREF ( value ) ;
Py_XINCREF ( tb ) ;
/* First, check the traceback argument, replacing None with NULL. */
if ( tb = = Py_None ) {
Py_DECREF ( tb ) ;
tb = 0 ;
}
else if ( tb ! = NULL & & ! PyTraceBack_Check ( tb ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: arg 3 must be a traceback or None " ) ;
goto raise_error ;
}
/* Next, replace a missing value with None */
if ( value = = NULL ) {
value = Py_None ;
Py_INCREF ( value ) ;
}
# if PY_VERSION_HEX < 0x02050000
if ( ! PyClass_Check ( type ) )
# else
if ( ! PyType_Check ( type ) )
# endif
{
/* Raising an instance. The value should be a dummy. */
if ( value ! = Py_None ) {
PyErr_SetString ( PyExc_TypeError ,
" instance exception may not have a separate value " ) ;
goto raise_error ;
}
/* Normalize to raise <class>, <instance> */
Py_DECREF ( value ) ;
value = type ;
# if PY_VERSION_HEX < 0x02050000
if ( PyInstance_Check ( type ) ) {
type = ( PyObject * ) ( ( PyInstanceObject * ) type ) - > in_class ;
Py_INCREF ( type ) ;
}
else {
type = 0 ;
PyErr_SetString ( PyExc_TypeError ,
" raise: exception must be an old-style class or instance " ) ;
goto raise_error ;
}
# else
type = ( PyObject * ) Py_TYPE ( type ) ;
Py_INCREF ( type ) ;
if ( ! PyType_IsSubtype ( ( PyTypeObject * ) type , ( PyTypeObject * ) PyExc_BaseException ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: exception class must be a subclass of BaseException " ) ;
goto raise_error ;
}
# endif
}
__Pyx_ErrRestore ( type , value , tb ) ;
return ;
raise_error :
Py_XDECREF ( value ) ;
Py_XDECREF ( type ) ;
Py_XDECREF ( tb ) ;
return ;
}
static INLINE void __Pyx_ErrRestore ( PyObject * type , PyObject * value , PyObject * tb ) {
PyObject * tmp_type , * tmp_value , * tmp_tb ;
PyThreadState * tstate = PyThreadState_GET ( ) ;
# if PY_MAJOR_VERSION >= 3
/* Note: this is a temporary work-around to prevent crashes in Python 3.0 */
if ( ( tstate - > exc_type ! = NULL ) & ( tstate - > exc_type ! = Py_None ) ) {
tmp_type = tstate - > exc_type ;
tmp_value = tstate - > exc_value ;
tmp_tb = tstate - > exc_traceback ;
PyErr_NormalizeException ( & type , & value , & tb ) ;
PyErr_NormalizeException ( & tmp_type , & tmp_value , & tmp_tb ) ;
tstate - > exc_type = 0 ;
tstate - > exc_value = 0 ;
tstate - > exc_traceback = 0 ;
PyException_SetContext ( value , tmp_value ) ;
Py_DECREF ( tmp_type ) ;
Py_XDECREF ( tmp_tb ) ;
}
# endif
tmp_type = tstate - > curexc_type ;
tmp_value = tstate - > curexc_value ;
tmp_tb = tstate - > curexc_traceback ;
tstate - > curexc_type = type ;
tstate - > curexc_value = value ;
tstate - > curexc_traceback = tb ;
Py_XDECREF ( tmp_type ) ;
Py_XDECREF ( tmp_value ) ;
Py_XDECREF ( tmp_tb ) ;
}
static INLINE void __Pyx_ErrFetch ( PyObject * * type , PyObject * * value , PyObject * * tb ) {
PyThreadState * tstate = PyThreadState_GET ( ) ;
* type = tstate - > curexc_type ;
* value = tstate - > curexc_value ;
* tb = tstate - > curexc_traceback ;
tstate - > curexc_type = 0 ;
tstate - > curexc_value = 0 ;
tstate - > curexc_traceback = 0 ;
}
static INLINE int __Pyx_StrEq ( const char * s1 , const char * s2 ) {
while ( * s1 ! = ' \0 ' & & * s1 = = * s2 ) { s1 + + ; s2 + + ; }
return * s1 = = * s2 ;
}
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar ( PyObject * x ) {
if ( sizeof ( unsigned char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned char ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( unsigned char ) - 1 ;
if ( unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned char " ) ;
return ( unsigned char ) - 1 ;
}
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to unsigned char " ) ;
return ( unsigned char ) - 1 ;
}
return ( unsigned char ) val ;
}
return ( unsigned char ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort ( PyObject * x ) {
if ( sizeof ( unsigned short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned short ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( unsigned short ) - 1 ;
if ( unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned short " ) ;
return ( unsigned short ) - 1 ;
}
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to unsigned short " ) ;
return ( unsigned short ) - 1 ;
}
return ( unsigned short ) val ;
}
return ( unsigned short ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt ( PyObject * x ) {
if ( sizeof ( unsigned int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned int ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( unsigned int ) - 1 ;
if ( unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned int " ) ;
return ( unsigned int ) - 1 ;
}
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to unsigned int " ) ;
return ( unsigned int ) - 1 ;
}
return ( unsigned int ) val ;
}
return ( unsigned int ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static INLINE char __Pyx_PyInt_AsChar ( PyObject * x ) {
if ( sizeof ( char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( char ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( char ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to char " ) ;
return ( char ) - 1 ;
}
return ( char ) val ;
}
return ( char ) __Pyx_PyInt_AsLong ( x ) ;
}
static INLINE short __Pyx_PyInt_AsShort ( PyObject * x ) {
if ( sizeof ( short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( short ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( short ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to short " ) ;
return ( short ) - 1 ;
}
return ( short ) val ;
}
return ( short ) __Pyx_PyInt_AsLong ( x ) ;
}
static INLINE int __Pyx_PyInt_AsInt ( PyObject * x ) {
if ( sizeof ( int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( int ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( int ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to int " ) ;
return ( int ) - 1 ;
}
return ( int ) val ;
}
return ( int ) __Pyx_PyInt_AsLong ( x ) ;
}
static INLINE signed char __Pyx_PyInt_AsSignedChar ( PyObject * x ) {
if ( sizeof ( signed char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed char ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( signed char ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to signed char " ) ;
return ( signed char ) - 1 ;
}
return ( signed char ) val ;
}
return ( signed char ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static INLINE signed short __Pyx_PyInt_AsSignedShort ( PyObject * x ) {
if ( sizeof ( signed short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed short ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( signed short ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to signed short " ) ;
return ( signed short ) - 1 ;
}
return ( signed short ) val ;
}
return ( signed short ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static INLINE signed int __Pyx_PyInt_AsSignedInt ( PyObject * x ) {
if ( sizeof ( signed int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed int ) val ) ) {
if ( unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) )
return ( signed int ) - 1 ;
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to signed int " ) ;
return ( signed int ) - 1 ;
}
return ( signed int ) val ;
}
return ( signed int ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned long " ) ;
return ( unsigned long ) - 1 ;
}
return ( unsigned long ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned long " ) ;
return ( unsigned long ) - 1 ;
}
return PyLong_AsUnsignedLong ( x ) ;
} else {
unsigned long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned long ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned PY_LONG_LONG " ) ;
return ( unsigned PY_LONG_LONG ) - 1 ;
}
return ( unsigned PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned PY_LONG_LONG " ) ;
return ( unsigned PY_LONG_LONG ) - 1 ;
}
return PyLong_AsUnsignedLongLong ( x ) ;
} else {
unsigned PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static INLINE long __Pyx_PyInt_AsLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
return ( long ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
return PyLong_AsLong ( x ) ;
} else {
long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( long ) - 1 ;
val = __Pyx_PyInt_AsLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
return ( PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
return PyLong_AsLongLong ( x ) ;
} else {
PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static INLINE signed long __Pyx_PyInt_AsSignedLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
return ( signed long ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
return PyLong_AsLong ( x ) ;
} else {
signed long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed long ) - 1 ;
val = __Pyx_PyInt_AsSignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong ( PyObject * x ) {
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_CheckExact ( x ) | | PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
return ( signed PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_CheckExact ( x ) | | PyLong_Check ( x ) ) ) {
return PyLong_AsLongLong ( x ) ;
} else {
signed PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsSignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static void __Pyx_WriteUnraisable ( const char * name ) {
PyObject * old_exc , * old_val , * old_tb ;
PyObject * ctx ;
__Pyx_ErrFetch ( & old_exc , & old_val , & old_tb ) ;
# if PY_MAJOR_VERSION < 3
ctx = PyString_FromString ( name ) ;
# else
ctx = PyUnicode_FromString ( name ) ;
# endif
__Pyx_ErrRestore ( old_exc , old_val , old_tb ) ;
if ( ! ctx ) {
PyErr_WriteUnraisable ( Py_None ) ;
} else {
PyErr_WriteUnraisable ( ctx ) ;
Py_DECREF ( ctx ) ;
}
}
2009-06-09 13:12:29 +09:00
static int __Pyx_SetVtable ( PyObject * dict , void * vtable ) {
PyObject * pycobj = 0 ;
int result ;
pycobj = PyCObject_FromVoidPtr ( vtable , 0 ) ;
if ( ! pycobj )
goto bad ;
if ( PyDict_SetItemString ( dict , " __pyx_vtable__ " , pycobj ) < 0 )
goto bad ;
result = 0 ;
goto done ;
bad :
result = - 1 ;
done :
Py_XDECREF ( pycobj ) ;
return result ;
}
2009-06-08 01:43:50 +09:00
# include "compile.h"
# include "frameobject.h"
# include "traceback.h"
static void __Pyx_AddTraceback ( const char * funcname ) {
PyObject * py_srcfile = 0 ;
PyObject * py_funcname = 0 ;
PyObject * py_globals = 0 ;
PyObject * empty_string = 0 ;
PyCodeObject * py_code = 0 ;
PyFrameObject * py_frame = 0 ;
# if PY_MAJOR_VERSION < 3
py_srcfile = PyString_FromString ( __pyx_filename ) ;
# else
py_srcfile = PyUnicode_FromString ( __pyx_filename ) ;
# endif
if ( ! py_srcfile ) goto bad ;
if ( __pyx_clineno ) {
# if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , __pyx_clineno ) ;
# else
py_funcname = PyUnicode_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , __pyx_clineno ) ;
# endif
}
else {
# if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromString ( funcname ) ;
# else
py_funcname = PyUnicode_FromString ( funcname ) ;
# endif
}
if ( ! py_funcname ) goto bad ;
py_globals = PyModule_GetDict ( __pyx_m ) ;
if ( ! py_globals ) goto bad ;
# if PY_MAJOR_VERSION < 3
empty_string = PyString_FromStringAndSize ( " " , 0 ) ;
# else
empty_string = PyBytes_FromStringAndSize ( " " , 0 ) ;
# endif
if ( ! empty_string ) goto bad ;
py_code = PyCode_New (
0 , /*int argcount,*/
# if PY_MAJOR_VERSION >= 3
0 , /*int kwonlyargcount,*/
# endif
0 , /*int nlocals,*/
0 , /*int stacksize,*/
0 , /*int flags,*/
empty_string , /*PyObject *code,*/
__pyx_empty_tuple , /*PyObject *consts,*/
__pyx_empty_tuple , /*PyObject *names,*/
__pyx_empty_tuple , /*PyObject *varnames,*/
__pyx_empty_tuple , /*PyObject *freevars,*/
__pyx_empty_tuple , /*PyObject *cellvars,*/
py_srcfile , /*PyObject *filename,*/
py_funcname , /*PyObject *name,*/
__pyx_lineno , /*int firstlineno,*/
empty_string /*PyObject *lnotab*/
) ;
if ( ! py_code ) goto bad ;
py_frame = PyFrame_New (
PyThreadState_GET ( ) , /*PyThreadState *tstate,*/
py_code , /*PyCodeObject *code,*/
py_globals , /*PyObject *globals,*/
0 /*PyObject *locals*/
) ;
if ( ! py_frame ) goto bad ;
py_frame - > f_lineno = __pyx_lineno ;
PyTraceBack_Here ( py_frame ) ;
bad :
Py_XDECREF ( py_srcfile ) ;
Py_XDECREF ( py_funcname ) ;
Py_XDECREF ( empty_string ) ;
Py_XDECREF ( py_code ) ;
Py_XDECREF ( py_frame ) ;
}
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) {
while ( t - > p ) {
# if PY_MAJOR_VERSION < 3
if ( t - > is_unicode & & ( ! t - > is_identifier ) ) {
* t - > p = PyUnicode_DecodeUTF8 ( t - > s , t - > n - 1 , NULL ) ;
} else if ( t - > intern ) {
* t - > p = PyString_InternFromString ( t - > s ) ;
} else {
* t - > p = PyString_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# else /* Python 3+ has unicode identifiers */
if ( t - > is_identifier | | ( t - > is_unicode & & t - > intern ) ) {
* t - > p = PyUnicode_InternFromString ( t - > s ) ;
} else if ( t - > is_unicode ) {
* t - > p = PyUnicode_FromStringAndSize ( t - > s , t - > n - 1 ) ;
} else {
* t - > p = PyBytes_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# endif
if ( ! * t - > p )
return - 1 ;
+ + t ;
}
return 0 ;
}
/* Type Conversion Functions */
static INLINE int __Pyx_PyObject_IsTrue ( PyObject * x ) {
if ( x = = Py_True ) return 1 ;
else if ( ( x = = Py_False ) | ( x = = Py_None ) ) return 0 ;
else return PyObject_IsTrue ( x ) ;
}
static INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) {
PyNumberMethods * m ;
const char * name = NULL ;
PyObject * res = NULL ;
# if PY_VERSION_HEX < 0x03000000
if ( PyInt_Check ( x ) | | PyLong_Check ( x ) )
# else
if ( PyLong_Check ( x ) )
# endif
return Py_INCREF ( x ) , x ;
m = Py_TYPE ( x ) - > tp_as_number ;
# if PY_VERSION_HEX < 0x03000000
2009-06-17 13:45:08 +09:00
if ( m & & m - > nb_long ) {
2009-06-08 01:43:50 +09:00
name = " long " ;
res = PyNumber_Long ( x ) ;
}
2009-06-17 13:45:08 +09:00
else if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Int ( x ) ;
}
2009-06-08 01:43:50 +09:00
# else
if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Long ( x ) ;
}
# endif
if ( res ) {
# if PY_VERSION_HEX < 0x03000000
if ( ! PyInt_Check ( res ) & & ! PyLong_Check ( res ) ) {
# else
if ( ! PyLong_Check ( res ) ) {
# endif
PyErr_Format ( PyExc_TypeError ,
" __%s__ returned non-%s (type %.200s) " ,
name , name , Py_TYPE ( res ) - > tp_name ) ;
Py_DECREF ( res ) ;
return NULL ;
}
}
else if ( ! PyErr_Occurred ( ) ) {
PyErr_SetString ( PyExc_TypeError ,
" an integer is required " ) ;
}
return res ;
}
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t ( PyObject * b ) {
Py_ssize_t ival ;
PyObject * x = PyNumber_Index ( b ) ;
if ( ! x ) return - 1 ;
ival = PyInt_AsSsize_t ( x ) ;
Py_DECREF ( x ) ;
return ival ;
}
static INLINE PyObject * __Pyx_PyInt_FromSize_t ( size_t ival ) {
# if PY_VERSION_HEX < 0x02050000
if ( ival < = LONG_MAX )
return PyInt_FromLong ( ( long ) ival ) ;
else {
unsigned char * bytes = ( unsigned char * ) & ival ;
int one = 1 ; int little = ( int ) * ( unsigned char * ) & one ;
return _PyLong_FromByteArray ( bytes , sizeof ( size_t ) , little , 0 ) ;
}
# else
return PyInt_FromSize_t ( ival ) ;
# endif
}
static INLINE size_t __Pyx_PyInt_AsSize_t ( PyObject * x ) {
unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong ( x ) ;
if ( unlikely ( val = = ( unsigned PY_LONG_LONG ) - 1 & & PyErr_Occurred ( ) ) ) {
return ( size_t ) - 1 ;
} else if ( unlikely ( val ! = ( unsigned PY_LONG_LONG ) ( size_t ) val ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to size_t " ) ;
return ( size_t ) - 1 ;
}
return ( size_t ) val ;
}