105
368
static struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *__pyx_vtabptr_6bzrlib_12_bencode_pyx_Decoder;
108
struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder {
109
int (*_ensure_buffer)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,int);
110
int (*_encode_int)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,int);
111
int (*_encode_long)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,PyObject *);
112
int (*_append_string)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,PyObject *);
113
int (*_encode_string)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,PyObject *);
114
int (*_encode_list)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,PyObject *);
115
int (*_encode_dict)(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *,PyObject *);
117
static struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *__pyx_vtabptr_6bzrlib_12_bencode_pyx_Encoder;
370
#ifndef CYTHON_REFNANNY
371
#define CYTHON_REFNANNY 0
376
void (*INCREF)(void*, PyObject*, int);
377
void (*DECREF)(void*, PyObject*, int);
378
void (*GOTREF)(void*, PyObject*, int);
379
void (*GIVEREF)(void*, PyObject*, int);
380
void* (*SetupContext)(const char*, int, const char*);
381
void (*FinishContext)(void**);
382
} __Pyx_RefNannyAPIStruct;
383
static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
384
static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
385
PyObject *m = NULL, *p = NULL;
387
m = PyImport_ImportModule((char *)modname);
389
p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
391
r = PyLong_AsVoidPtr(p);
395
return (__Pyx_RefNannyAPIStruct *)r;
397
#define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
398
#define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
399
#define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
400
#define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
401
#define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
402
#define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
403
#define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
405
#define __Pyx_RefNannySetupContext(name)
406
#define __Pyx_RefNannyFinishContext()
407
#define __Pyx_INCREF(r) Py_INCREF(r)
408
#define __Pyx_DECREF(r) Py_DECREF(r)
409
#define __Pyx_GOTREF(r)
410
#define __Pyx_GIVEREF(r)
411
#define __Pyx_XDECREF(r) Py_XDECREF(r)
412
#endif /* CYTHON_REFNANNY */
413
#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
414
#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
416
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
418
static void __Pyx_RaiseDoubleKeywordsError(
419
const char* func_name, PyObject* kw_name); /*proto*/
421
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
422
Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
424
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/
426
static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
427
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
429
static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, const char *modname); /*proto*/
431
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
433
static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
435
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
437
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
439
static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
441
static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
443
static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
445
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
447
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
449
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
451
static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
453
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
455
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
457
static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
459
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
461
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
463
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
465
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
467
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/
469
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
471
static void __Pyx_AddTraceback(const char *funcname); /*proto*/
473
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
474
/* Module declarations from bzrlib._static_tuple_c */
476
/* Module declarations from bzrlib._static_tuple_c */
478
static PyTypeObject *__pyx_ptype_6bzrlib_15_static_tuple_c_StaticTuple = 0;
479
/* Module declarations from bzrlib._bencode_pyx */
119
481
static PyTypeObject *__pyx_ptype_6bzrlib_12_bencode_pyx_Decoder = 0;
120
482
static PyTypeObject *__pyx_ptype_6bzrlib_12_bencode_pyx_Encoder = 0;
122
static char __pyx_k1[] = "String required";
123
static char __pyx_k2[] = "junk in stream";
124
static char __pyx_k3[] = "stream underflow";
125
static char __pyx_k4[] = "_decode_object";
126
static char __pyx_k5[] = "too deeply nested";
127
static char __pyx_k6[] = "unknown object type identifier %r";
128
static char __pyx_k7[] = "Stop character %c not found: %c";
129
static char __pyx_k8[] = "string len not terminated by \":\"";
130
static char __pyx_k9[] = "leading zeros are not allowed";
131
static char __pyx_k10[] = "";
132
static char __pyx_k11[] = "string size below zero: %d";
133
static char __pyx_k12[] = "malformed list";
134
static char __pyx_k13[] = "key was not a simple string.";
135
static char __pyx_k14[] = "dict keys disordered";
136
static char __pyx_k15[] = "malformed dict";
137
static char __pyx_k16[] = "decode";
138
static char __pyx_k17[] = "bencoded";
139
static char __pyx_k18[] = "Not enough memory to allocate buffer for encoder";
140
static char __pyx_k19[] = "Cannot realloc buffer for encoder";
141
static char __pyx_k20[] = "i%de";
142
static char __pyx_k21[] = "int %d too big to encode";
143
static char __pyx_k22[] = "join";
144
static char __pyx_k23[] = "i";
145
static char __pyx_k24[] = "e";
146
static char __pyx_k25[] = "%d:";
147
static char __pyx_k26[] = "string %s too big to encode";
148
static char __pyx_k27[] = "process";
149
static char __pyx_k28[] = "keys";
150
static char __pyx_k29[] = "sort";
151
static char __pyx_k30[] = "key in dict should be string";
152
static char __pyx_k31[] = "encode";
153
static char __pyx_k32[] = "Bencached";
154
static char __pyx_k33[] = "unsupported type %r";
155
static char __pyx_k34[] = "object";
156
static char __pyx_k35[] = "__slots__";
157
static char __pyx_k36[] = "__init__";
159
static PyObject *__pyx_n_Bencached;
160
static PyObject *__pyx_n___init__;
161
static PyObject *__pyx_n___slots__;
162
static PyObject *__pyx_n_bencoded;
163
static PyObject *__pyx_n_decode;
164
static PyObject *__pyx_n_e;
165
static PyObject *__pyx_n_i;
166
static PyObject *__pyx_n_join;
167
static PyObject *__pyx_n_keys;
168
static PyObject *__pyx_n_object;
169
static PyObject *__pyx_n_process;
170
static PyObject *__pyx_n_sort;
172
static PyObject *__pyx_k1p;
173
static PyObject *__pyx_k2p;
174
static PyObject *__pyx_k3p;
175
static PyObject *__pyx_k5p;
176
static PyObject *__pyx_k6p;
177
static PyObject *__pyx_k7p;
178
static PyObject *__pyx_k8p;
179
static PyObject *__pyx_k9p;
180
static PyObject *__pyx_k10p;
181
static PyObject *__pyx_k11p;
182
static PyObject *__pyx_k12p;
183
static PyObject *__pyx_k13p;
184
static PyObject *__pyx_k14p;
185
static PyObject *__pyx_k15p;
186
static PyObject *__pyx_k18p;
187
static PyObject *__pyx_k19p;
188
static PyObject *__pyx_k21p;
189
static PyObject *__pyx_k26p;
190
static PyObject *__pyx_k30p;
191
static PyObject *__pyx_k33p;
193
static __Pyx_StringTabEntry __pyx_string_tab[] = {
194
{&__pyx_n_Bencached, 1, __pyx_k32, sizeof(__pyx_k32)},
195
{&__pyx_n___init__, 1, __pyx_k36, sizeof(__pyx_k36)},
196
{&__pyx_n___slots__, 1, __pyx_k35, sizeof(__pyx_k35)},
197
{&__pyx_n_bencoded, 1, __pyx_k17, sizeof(__pyx_k17)},
198
{&__pyx_n_decode, 1, __pyx_k16, sizeof(__pyx_k16)},
199
{&__pyx_n_e, 1, __pyx_k24, sizeof(__pyx_k24)},
200
{&__pyx_n_i, 1, __pyx_k23, sizeof(__pyx_k23)},
201
{&__pyx_n_join, 1, __pyx_k22, sizeof(__pyx_k22)},
202
{&__pyx_n_keys, 1, __pyx_k28, sizeof(__pyx_k28)},
203
{&__pyx_n_object, 1, __pyx_k34, sizeof(__pyx_k34)},
204
{&__pyx_n_process, 1, __pyx_k27, sizeof(__pyx_k27)},
205
{&__pyx_n_sort, 1, __pyx_k29, sizeof(__pyx_k29)},
206
{&__pyx_k1p, 0, __pyx_k1, sizeof(__pyx_k1)},
207
{&__pyx_k2p, 0, __pyx_k2, sizeof(__pyx_k2)},
208
{&__pyx_k3p, 0, __pyx_k3, sizeof(__pyx_k3)},
209
{&__pyx_k5p, 0, __pyx_k5, sizeof(__pyx_k5)},
210
{&__pyx_k6p, 0, __pyx_k6, sizeof(__pyx_k6)},
211
{&__pyx_k7p, 0, __pyx_k7, sizeof(__pyx_k7)},
212
{&__pyx_k8p, 0, __pyx_k8, sizeof(__pyx_k8)},
213
{&__pyx_k9p, 0, __pyx_k9, sizeof(__pyx_k9)},
214
{&__pyx_k10p, 0, __pyx_k10, sizeof(__pyx_k10)},
215
{&__pyx_k11p, 0, __pyx_k11, sizeof(__pyx_k11)},
216
{&__pyx_k12p, 0, __pyx_k12, sizeof(__pyx_k12)},
217
{&__pyx_k13p, 0, __pyx_k13, sizeof(__pyx_k13)},
218
{&__pyx_k14p, 0, __pyx_k14, sizeof(__pyx_k14)},
219
{&__pyx_k15p, 0, __pyx_k15, sizeof(__pyx_k15)},
220
{&__pyx_k18p, 0, __pyx_k18, sizeof(__pyx_k18)},
221
{&__pyx_k19p, 0, __pyx_k19, sizeof(__pyx_k19)},
222
{&__pyx_k21p, 0, __pyx_k21, sizeof(__pyx_k21)},
223
{&__pyx_k26p, 0, __pyx_k26, sizeof(__pyx_k26)},
224
{&__pyx_k30p, 0, __pyx_k30, sizeof(__pyx_k30)},
225
{&__pyx_k33p, 0, __pyx_k33, sizeof(__pyx_k33)},
229
static PyObject *__pyx_d1;
483
#define __Pyx_MODULE_NAME "bzrlib._bencode_pyx"
484
int __pyx_module_is_main_bzrlib___bencode_pyx = 0;
233
486
/* Implementation of bzrlib._bencode_pyx */
235
static int __pyx_f_6bzrlib_12_bencode_pyx_7Decoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
236
static int __pyx_f_6bzrlib_12_bencode_pyx_7Decoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
487
static PyObject *__pyx_builtin_object;
488
static PyObject *__pyx_builtin_TypeError;
489
static PyObject *__pyx_builtin_ValueError;
490
static PyObject *__pyx_builtin_RuntimeError;
491
static PyObject *__pyx_builtin_MemoryError;
492
static char __pyx_k_1[] = "String required";
493
static char __pyx_k_2[] = "junk in stream";
494
static char __pyx_k_3[] = "stream underflow";
495
static char __pyx_k_4[] = "too deeply nested";
496
static char __pyx_k_5[] = "unknown object type identifier %r";
497
static char __pyx_k_6[] = "Stop character %c not found: %c";
498
static char __pyx_k_7[] = "string len not terminated by \":\"";
499
static char __pyx_k_8[] = "leading zeros are not allowed";
500
static char __pyx_k_9[] = "";
501
static char __pyx_k_10[] = "string size below zero: %d";
502
static char __pyx_k_11[] = "malformed list";
503
static char __pyx_k_12[] = "key was not a simple string.";
504
static char __pyx_k_13[] = "dict keys disordered";
505
static char __pyx_k_14[] = "malformed dict";
506
static char __pyx_k_16[] = "Not enough memory to allocate buffer for encoder";
507
static char __pyx_k_17[] = "Cannot realloc buffer for encoder";
508
static char __pyx_k_18[] = "i%de";
509
static char __pyx_k_19[] = "int %d too big to encode";
510
static char __pyx_k_20[] = "%d:";
511
static char __pyx_k_21[] = "string %s too big to encode";
512
static char __pyx_k_22[] = "key in dict should be string";
513
static char __pyx_k_23[] = "unsupported type %r";
514
static char __pyx_k_24[] = "Pyrex implementation for bencode coder/decoder";
515
static char __pyx_k_25[] = "Decoder.__init__ (line 77)";
516
static char __pyx_k_26[] = "bdecode (line 223)";
517
static char __pyx_k_27[] = "bdecode_as_tuple (line 228)";
518
static char __pyx_k_28[] = "Encoder.__init__ (line 253)";
519
static char __pyx_k_29[] = "bencode (line 396)";
520
static char __pyx_k__e[] = "e";
521
static char __pyx_k__i[] = "i";
522
static char __pyx_k__s[] = "s";
523
static char __pyx_k__join[] = "join";
524
static char __pyx_k__keys[] = "keys";
525
static char __pyx_k__self[] = "self";
526
static char __pyx_k__size[] = "size";
527
static char __pyx_k__sort[] = "sort";
528
static char __pyx_k__tail[] = "tail";
529
static char __pyx_k__text[] = "text";
530
static char __pyx_k__buffer[] = "buffer";
531
static char __pyx_k__decode[] = "decode";
532
static char __pyx_k__encode[] = "encode";
533
static char __pyx_k__object[] = "object";
534
static char __pyx_k__Decoder[] = "Decoder";
535
static char __pyx_k__Encoder[] = "Encoder";
536
static char __pyx_k__bdecode[] = "bdecode";
537
static char __pyx_k__bencode[] = "bencode";
538
static char __pyx_k__maxsize[] = "maxsize";
539
static char __pyx_k__process[] = "process";
540
static char __pyx_k____init__[] = "__init__";
541
static char __pyx_k____main__[] = "__main__";
542
static char __pyx_k____test__[] = "__test__";
543
static char __pyx_k__bencoded[] = "bencoded";
544
static char __pyx_k__Bencached[] = "Bencached";
545
static char __pyx_k__TypeError[] = "TypeError";
546
static char __pyx_k____slots__[] = "__slots__";
547
static char __pyx_k__ValueError[] = "ValueError";
548
static char __pyx_k__MemoryError[] = "MemoryError";
549
static char __pyx_k___decode_int[] = "_decode_int";
550
static char __pyx_k___encode_int[] = "_encode_int";
551
static char __pyx_k__RuntimeError[] = "RuntimeError";
552
static char __pyx_k___decode_dict[] = "_decode_dict";
553
static char __pyx_k___decode_list[] = "_decode_list";
554
static char __pyx_k___encode_dict[] = "_encode_dict";
555
static char __pyx_k___encode_list[] = "_encode_list";
556
static char __pyx_k___encode_long[] = "_encode_long";
557
static char __pyx_k___read_digits[] = "_read_digits";
558
static char __pyx_k__yield_tuples[] = "yield_tuples";
559
static char __pyx_k___yield_tuples[] = "_yield_tuples";
560
static char __pyx_k___append_string[] = "_append_string";
561
static char __pyx_k___decode_object[] = "_decode_object";
562
static char __pyx_k___decode_string[] = "_decode_string";
563
static char __pyx_k___encode_string[] = "_encode_string";
564
static char __pyx_k___ensure_buffer[] = "_ensure_buffer";
565
static char __pyx_k__bdecode_as_tuple[] = "bdecode_as_tuple";
566
static PyObject *__pyx_kp_s_1;
567
static PyObject *__pyx_kp_s_10;
568
static PyObject *__pyx_kp_s_11;
569
static PyObject *__pyx_kp_s_12;
570
static PyObject *__pyx_kp_s_13;
571
static PyObject *__pyx_kp_s_14;
572
static PyObject *__pyx_kp_s_16;
573
static PyObject *__pyx_kp_s_17;
574
static PyObject *__pyx_kp_s_19;
575
static PyObject *__pyx_kp_s_2;
576
static PyObject *__pyx_kp_s_21;
577
static PyObject *__pyx_kp_s_22;
578
static PyObject *__pyx_kp_s_23;
579
static PyObject *__pyx_kp_u_25;
580
static PyObject *__pyx_kp_u_26;
581
static PyObject *__pyx_kp_u_27;
582
static PyObject *__pyx_kp_u_28;
583
static PyObject *__pyx_kp_u_29;
584
static PyObject *__pyx_kp_s_3;
585
static PyObject *__pyx_kp_s_4;
586
static PyObject *__pyx_kp_s_5;
587
static PyObject *__pyx_kp_s_6;
588
static PyObject *__pyx_kp_s_7;
589
static PyObject *__pyx_kp_s_8;
590
static PyObject *__pyx_kp_s_9;
591
static PyObject *__pyx_n_s__Bencached;
592
static PyObject *__pyx_n_s__Decoder;
593
static PyObject *__pyx_n_s__Encoder;
594
static PyObject *__pyx_n_s__MemoryError;
595
static PyObject *__pyx_n_s__RuntimeError;
596
static PyObject *__pyx_n_s__TypeError;
597
static PyObject *__pyx_n_s__ValueError;
598
static PyObject *__pyx_n_s____init__;
599
static PyObject *__pyx_n_s____main__;
600
static PyObject *__pyx_n_s____slots__;
601
static PyObject *__pyx_n_s____test__;
602
static PyObject *__pyx_n_s___append_string;
603
static PyObject *__pyx_n_s___decode_dict;
604
static PyObject *__pyx_n_s___decode_int;
605
static PyObject *__pyx_n_s___decode_list;
606
static PyObject *__pyx_n_s___decode_object;
607
static PyObject *__pyx_n_s___decode_string;
608
static PyObject *__pyx_n_s___encode_dict;
609
static PyObject *__pyx_n_s___encode_int;
610
static PyObject *__pyx_n_s___encode_list;
611
static PyObject *__pyx_n_s___encode_long;
612
static PyObject *__pyx_n_s___encode_string;
613
static PyObject *__pyx_n_s___ensure_buffer;
614
static PyObject *__pyx_n_s___read_digits;
615
static PyObject *__pyx_n_s___yield_tuples;
616
static PyObject *__pyx_n_s__bdecode;
617
static PyObject *__pyx_n_s__bdecode_as_tuple;
618
static PyObject *__pyx_n_s__bencode;
619
static PyObject *__pyx_n_s__bencoded;
620
static PyObject *__pyx_n_s__buffer;
621
static PyObject *__pyx_n_s__decode;
622
static PyObject *__pyx_n_s__e;
623
static PyObject *__pyx_n_s__i;
624
static PyObject *__pyx_n_s__join;
625
static PyObject *__pyx_n_s__keys;
626
static PyObject *__pyx_n_s__maxsize;
627
static PyObject *__pyx_n_s__object;
628
static PyObject *__pyx_n_s__process;
629
static PyObject *__pyx_n_s__s;
630
static PyObject *__pyx_n_s__self;
631
static PyObject *__pyx_n_s__size;
632
static PyObject *__pyx_n_s__sort;
633
static PyObject *__pyx_n_s__tail;
634
static PyObject *__pyx_n_s__text;
635
static PyObject *__pyx_n_s__yield_tuples;
636
static PyObject *__pyx_int_0;
637
static int __pyx_k_15;
639
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":72
640
* """Bencode decoder"""
642
* cdef readonly char *tail # <<<<<<<<<<<<<<
643
* cdef readonly int size
644
* cdef readonly int _yield_tuples
647
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_4tail___get__(PyObject *__pyx_v_self); /*proto*/
648
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_4tail___get__(PyObject *__pyx_v_self) {
649
PyObject *__pyx_r = NULL;
650
PyObject *__pyx_t_1 = NULL;
651
__Pyx_RefNannySetupContext("__get__");
652
__Pyx_XDECREF(__pyx_r);
653
__pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->tail); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
654
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
655
__pyx_r = ((PyObject *)__pyx_t_1);
659
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
662
__Pyx_XDECREF(__pyx_t_1);
663
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.tail.__get__");
666
__Pyx_XGIVEREF(__pyx_r);
667
__Pyx_RefNannyFinishContext();
671
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":73
673
* cdef readonly char *tail
674
* cdef readonly int size # <<<<<<<<<<<<<<
675
* cdef readonly int _yield_tuples
679
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_4size___get__(PyObject *__pyx_v_self); /*proto*/
680
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_4size___get__(PyObject *__pyx_v_self) {
681
PyObject *__pyx_r = NULL;
682
PyObject *__pyx_t_1 = NULL;
683
__Pyx_RefNannySetupContext("__get__");
684
__Pyx_XDECREF(__pyx_r);
685
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
686
__Pyx_GOTREF(__pyx_t_1);
691
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
694
__Pyx_XDECREF(__pyx_t_1);
695
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.size.__get__");
698
__Pyx_XGIVEREF(__pyx_r);
699
__Pyx_RefNannyFinishContext();
703
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":74
704
* cdef readonly char *tail
705
* cdef readonly int size
706
* cdef readonly int _yield_tuples # <<<<<<<<<<<<<<
711
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_13_yield_tuples___get__(PyObject *__pyx_v_self); /*proto*/
712
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_13_yield_tuples___get__(PyObject *__pyx_v_self) {
713
PyObject *__pyx_r = NULL;
714
PyObject *__pyx_t_1 = NULL;
715
__Pyx_RefNannySetupContext("__get__");
716
__Pyx_XDECREF(__pyx_r);
717
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->_yield_tuples); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
718
__Pyx_GOTREF(__pyx_t_1);
723
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
726
__Pyx_XDECREF(__pyx_t_1);
727
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._yield_tuples.__get__");
730
__Pyx_XGIVEREF(__pyx_r);
731
__Pyx_RefNannyFinishContext();
735
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":77
738
* def __init__(self, s, yield_tuples=0): # <<<<<<<<<<<<<<
739
* """Initialize decoder engine.
740
* @param s: Python string.
743
static int __pyx_pf_6bzrlib_12_bencode_pyx_7Decoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
744
static char __pyx_doc_6bzrlib_12_bencode_pyx_7Decoder___init__[] = "Initialize decoder engine.\n @param s: Python string.\n ";
745
struct wrapperbase __pyx_wrapperbase_6bzrlib_12_bencode_pyx_7Decoder___init__;
746
static int __pyx_pf_6bzrlib_12_bencode_pyx_7Decoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
237
747
PyObject *__pyx_v_s = 0;
238
748
PyObject *__pyx_v_yield_tuples = 0;
241
PyObject *__pyx_2 = 0;
242
PyObject *__pyx_3 = 0;
245
static char *__pyx_argnames[] = {"s","yield_tuples",0};
246
__pyx_v_yield_tuples = __pyx_d1;
247
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|O", __pyx_argnames, &__pyx_v_s, &__pyx_v_yield_tuples)) return -1;
248
Py_INCREF(__pyx_v_self);
249
Py_INCREF(__pyx_v_s);
250
Py_INCREF(__pyx_v_yield_tuples);
252
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":81 */
253
__pyx_1 = (!PyString_CheckExact(__pyx_v_s));
255
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; goto __pyx_L1;}
256
Py_INCREF(__pyx_k1p);
257
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k1p);
258
__pyx_3 = PyObject_CallObject(PyExc_TypeError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; goto __pyx_L1;}
259
Py_DECREF(__pyx_2); __pyx_2 = 0;
260
__Pyx_Raise(__pyx_3, 0, 0);
261
Py_DECREF(__pyx_3); __pyx_3 = 0;
262
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; goto __pyx_L1;}
267
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":84 */
268
Py_INCREF(__pyx_v_s);
269
Py_DECREF(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->text);
751
PyObject *__pyx_t_2 = NULL;
752
PyObject *__pyx_t_3 = NULL;
754
Py_ssize_t __pyx_t_5;
756
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__s,&__pyx_n_s__yield_tuples,0};
757
__Pyx_RefNannySetupContext("__init__");
758
if (unlikely(__pyx_kwds)) {
759
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
760
PyObject* values[2] = {0,0};
761
values[1] = ((PyObject *)__pyx_int_0);
762
switch (PyTuple_GET_SIZE(__pyx_args)) {
763
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
764
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
766
default: goto __pyx_L5_argtuple_error;
768
switch (PyTuple_GET_SIZE(__pyx_args)) {
770
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__s);
771
if (likely(values[0])) kw_args--;
772
else goto __pyx_L5_argtuple_error;
775
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yield_tuples);
776
if (value) { values[1] = value; kw_args--; }
779
if (unlikely(kw_args > 0)) {
780
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
782
__pyx_v_s = values[0];
783
__pyx_v_yield_tuples = values[1];
785
__pyx_v_yield_tuples = ((PyObject *)__pyx_int_0);
786
switch (PyTuple_GET_SIZE(__pyx_args)) {
787
case 2: __pyx_v_yield_tuples = PyTuple_GET_ITEM(__pyx_args, 1);
788
case 1: __pyx_v_s = PyTuple_GET_ITEM(__pyx_args, 0);
790
default: goto __pyx_L5_argtuple_error;
793
goto __pyx_L4_argument_unpacking_done;
794
__pyx_L5_argtuple_error:;
795
__Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
797
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.__init__");
798
__Pyx_RefNannyFinishContext();
800
__pyx_L4_argument_unpacking_done:;
802
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":81
803
* @param s: Python string.
805
* if not PyString_CheckExact(s): # <<<<<<<<<<<<<<
806
* raise TypeError("String required")
809
__pyx_t_1 = (!PyString_CheckExact(__pyx_v_s));
812
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":82
814
* if not PyString_CheckExact(s):
815
* raise TypeError("String required") # <<<<<<<<<<<<<<
819
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
820
__Pyx_GOTREF(__pyx_t_2);
821
__Pyx_INCREF(((PyObject *)__pyx_kp_s_1));
822
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_1));
823
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1));
824
__pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
825
__Pyx_GOTREF(__pyx_t_3);
826
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
827
__Pyx_Raise(__pyx_t_3, 0, 0);
828
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
829
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
834
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":84
835
* raise TypeError("String required")
837
* self.text = s # <<<<<<<<<<<<<<
838
* self.tail = PyString_AS_STRING(s)
839
* self.size = PyString_GET_SIZE(s)
841
__Pyx_INCREF(__pyx_v_s);
842
__Pyx_GIVEREF(__pyx_v_s);
843
__Pyx_GOTREF(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->text);
844
__Pyx_DECREF(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->text);
270
845
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->text = __pyx_v_s;
272
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":85 */
273
__pyx_4 = PyString_AS_STRING(__pyx_v_s); if (__pyx_4 == NULL) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
274
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->tail = __pyx_4;
276
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":86 */
277
__pyx_5 = PyString_GET_SIZE(__pyx_v_s); if (__pyx_5 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
278
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->size = __pyx_5;
280
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":87 */
281
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
282
Py_INCREF(__pyx_v_yield_tuples);
283
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_yield_tuples);
284
__pyx_3 = PyObject_CallObject(((PyObject *)(&PyInt_Type)), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
285
Py_DECREF(__pyx_2); __pyx_2 = 0;
286
__pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
287
Py_DECREF(__pyx_3); __pyx_3 = 0;
288
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->_yield_tuples = __pyx_1;
847
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":85
850
* self.tail = PyString_AS_STRING(s) # <<<<<<<<<<<<<<
851
* self.size = PyString_GET_SIZE(s)
852
* self._yield_tuples = int(yield_tuples)
854
__pyx_t_4 = PyString_AS_STRING(__pyx_v_s); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
855
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->tail = __pyx_t_4;
857
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":86
859
* self.tail = PyString_AS_STRING(s)
860
* self.size = PyString_GET_SIZE(s) # <<<<<<<<<<<<<<
861
* self._yield_tuples = int(yield_tuples)
864
__pyx_t_5 = PyString_GET_SIZE(__pyx_v_s); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
865
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->size = __pyx_t_5;
867
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":87
868
* self.tail = PyString_AS_STRING(s)
869
* self.size = PyString_GET_SIZE(s)
870
* self._yield_tuples = int(yield_tuples) # <<<<<<<<<<<<<<
874
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
875
__Pyx_GOTREF(__pyx_t_3);
876
__Pyx_INCREF(__pyx_v_yield_tuples);
877
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_yield_tuples);
878
__Pyx_GIVEREF(__pyx_v_yield_tuples);
879
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
880
__Pyx_GOTREF(__pyx_t_2);
881
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
882
__pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
883
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
884
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->_yield_tuples = __pyx_t_6;
889
__Pyx_XDECREF(__pyx_t_2);
890
__Pyx_XDECREF(__pyx_t_3);
295
891
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.__init__");
298
Py_DECREF(__pyx_v_self);
299
Py_DECREF(__pyx_v_s);
300
Py_DECREF(__pyx_v_yield_tuples);
894
__Pyx_RefNannyFinishContext();
304
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder_decode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
305
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder_decode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
898
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":89
899
* self._yield_tuples = int(yield_tuples)
901
* def decode(self): # <<<<<<<<<<<<<<
902
* result = self._decode_object()
906
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_decode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
907
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_decode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
306
908
PyObject *__pyx_v_result;
308
PyObject *__pyx_1 = 0;
310
PyObject *__pyx_3 = 0;
311
static char *__pyx_argnames[] = {0};
312
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
313
Py_INCREF(__pyx_v_self);
314
__pyx_v_result = Py_None; Py_INCREF(Py_None);
316
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":90 */
317
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->__pyx_vtab)->_decode_object(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; goto __pyx_L1;}
318
Py_DECREF(__pyx_v_result);
319
__pyx_v_result = __pyx_1;
322
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":91 */
323
__pyx_2 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->size != 0);
325
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; goto __pyx_L1;}
326
Py_INCREF(__pyx_k2p);
327
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_k2p);
328
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; goto __pyx_L1;}
329
Py_DECREF(__pyx_1); __pyx_1 = 0;
330
__Pyx_Raise(__pyx_3, 0, 0);
331
Py_DECREF(__pyx_3); __pyx_3 = 0;
332
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; goto __pyx_L1;}
909
PyObject *__pyx_r = NULL;
910
PyObject *__pyx_t_1 = NULL;
912
PyObject *__pyx_t_3 = NULL;
913
__Pyx_RefNannySetupContext("decode");
914
__pyx_v_result = Py_None; __Pyx_INCREF(Py_None);
916
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":90
919
* result = self._decode_object() # <<<<<<<<<<<<<<
921
* raise ValueError('junk in stream')
923
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->__pyx_vtab)->_decode_object(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
924
__Pyx_GOTREF(__pyx_t_1);
925
__Pyx_DECREF(__pyx_v_result);
926
__pyx_v_result = __pyx_t_1;
929
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":91
931
* result = self._decode_object()
932
* if self.size != 0: # <<<<<<<<<<<<<<
933
* raise ValueError('junk in stream')
936
__pyx_t_2 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->size != 0);
939
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":92
940
* result = self._decode_object()
942
* raise ValueError('junk in stream') # <<<<<<<<<<<<<<
946
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
947
__Pyx_GOTREF(__pyx_t_1);
948
__Pyx_INCREF(((PyObject *)__pyx_kp_s_2));
949
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_2));
950
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2));
951
__pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
952
__Pyx_GOTREF(__pyx_t_3);
953
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
954
__Pyx_Raise(__pyx_t_3, 0, 0);
955
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
956
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
337
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":93 */
338
Py_INCREF(__pyx_v_result);
961
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":93
963
* raise ValueError('junk in stream')
964
* return result # <<<<<<<<<<<<<<
966
* def decode_object(self):
968
__Pyx_XDECREF(__pyx_r);
969
__Pyx_INCREF(__pyx_v_result);
339
970
__pyx_r = __pyx_v_result;
342
__pyx_r = Py_None; Py_INCREF(Py_None);
973
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
976
__Pyx_XDECREF(__pyx_t_1);
977
__Pyx_XDECREF(__pyx_t_3);
347
978
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.decode");
350
Py_DECREF(__pyx_v_result);
351
Py_DECREF(__pyx_v_self);
981
__Pyx_DECREF(__pyx_v_result);
982
__Pyx_XGIVEREF(__pyx_r);
983
__Pyx_RefNannyFinishContext();
355
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder_decode_object(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
356
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder_decode_object(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
358
PyObject *__pyx_1 = 0;
359
static char *__pyx_argnames[] = {0};
360
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
361
Py_INCREF(__pyx_v_self);
362
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->__pyx_vtab)->_decode_object(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
367
__pyx_r = Py_None; Py_INCREF(Py_None);
987
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":95
990
* def decode_object(self): # <<<<<<<<<<<<<<
991
* return self._decode_object()
995
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_decode_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
996
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Decoder_decode_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
997
PyObject *__pyx_r = NULL;
998
PyObject *__pyx_t_1 = NULL;
999
__Pyx_RefNannySetupContext("decode_object");
1001
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":96
1003
* def decode_object(self):
1004
* return self._decode_object() # <<<<<<<<<<<<<<
1006
* cdef object _decode_object(self):
1008
__Pyx_XDECREF(__pyx_r);
1009
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)->__pyx_vtab)->_decode_object(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1010
__Pyx_GOTREF(__pyx_t_1);
1011
__pyx_r = __pyx_t_1;
1015
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1018
__Pyx_XDECREF(__pyx_t_1);
371
1019
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder.decode_object");
374
Py_DECREF(__pyx_v_self);
1022
__Pyx_XGIVEREF(__pyx_r);
1023
__Pyx_RefNannyFinishContext();
378
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_object(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
1027
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":98
1028
* return self._decode_object()
1030
* cdef object _decode_object(self): # <<<<<<<<<<<<<<
1035
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_object(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
379
1036
char __pyx_v_ch;
382
PyObject *__pyx_2 = 0;
383
PyObject *__pyx_3 = 0;
384
Py_INCREF(__pyx_v_self);
386
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":101 */
387
__pyx_1 = (0 == __pyx_v_self->size);
389
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; goto __pyx_L1;}
390
Py_INCREF(__pyx_k3p);
391
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k3p);
392
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; goto __pyx_L1;}
393
Py_DECREF(__pyx_2); __pyx_2 = 0;
394
__Pyx_Raise(__pyx_3, 0, 0);
395
Py_DECREF(__pyx_3); __pyx_3 = 0;
396
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; goto __pyx_L1;}
401
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":104 */
402
__pyx_1 = Py_EnterRecursiveCall(__pyx_k4);
404
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;}
405
Py_INCREF(__pyx_k5p);
406
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k5p);
407
__pyx_3 = PyObject_CallObject(PyExc_RuntimeError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;}
408
Py_DECREF(__pyx_2); __pyx_2 = 0;
409
__Pyx_Raise(__pyx_3, 0, 0);
410
Py_DECREF(__pyx_3); __pyx_3 = 0;
411
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;}
1037
PyObject *__pyx_r = NULL;
1039
PyObject *__pyx_t_2 = NULL;
1040
PyObject *__pyx_t_3 = NULL;
1042
__Pyx_RefNannySetupContext("_decode_object");
1044
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":101
1047
* if 0 == self.size: # <<<<<<<<<<<<<<
1048
* raise ValueError('stream underflow')
1051
__pyx_t_1 = (0 == __pyx_v_self->size);
1054
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":102
1056
* if 0 == self.size:
1057
* raise ValueError('stream underflow') # <<<<<<<<<<<<<<
1059
* if Py_EnterRecursiveCall("_decode_object"):
1061
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1062
__Pyx_GOTREF(__pyx_t_2);
1063
__Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
1064
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_3));
1065
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
1066
__pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1067
__Pyx_GOTREF(__pyx_t_3);
1068
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1069
__Pyx_Raise(__pyx_t_3, 0, 0);
1070
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1071
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
416
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":106 */
1076
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":104
1077
* raise ValueError('stream underflow')
1079
* if Py_EnterRecursiveCall("_decode_object"): # <<<<<<<<<<<<<<
1080
* raise RuntimeError("too deeply nested")
1083
__pyx_t_4 = Py_EnterRecursiveCall(__pyx_k___decode_object);
1086
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":105
1088
* if Py_EnterRecursiveCall("_decode_object"):
1089
* raise RuntimeError("too deeply nested") # <<<<<<<<<<<<<<
1093
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1094
__Pyx_GOTREF(__pyx_t_3);
1095
__Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
1096
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_4));
1097
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
1098
__pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1099
__Pyx_GOTREF(__pyx_t_2);
1100
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1101
__Pyx_Raise(__pyx_t_2, 0, 0);
1102
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1103
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1108
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":106
1109
* if Py_EnterRecursiveCall("_decode_object"):
1110
* raise RuntimeError("too deeply nested")
1111
* try: # <<<<<<<<<<<<<<
1113
* if c'0' <= ch <= c'9':
419
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":107 */
1117
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":107
1118
* raise RuntimeError("too deeply nested")
1120
* ch = self.tail[0] # <<<<<<<<<<<<<<
1121
* if c'0' <= ch <= c'9':
1122
* return self._decode_string()
420
1124
__pyx_v_ch = (__pyx_v_self->tail[0]);
422
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":108 */
423
__pyx_1 = '0' <= __pyx_v_ch;
425
__pyx_1 = __pyx_v_ch <= '9';
428
__pyx_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_string(__pyx_v_self); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; goto __pyx_L5;}
434
__pyx_1 = (__pyx_v_ch == 'l');
437
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":111 */
438
D_UPDATE_TAIL(__pyx_v_self,1);
440
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":112 */
441
__pyx_3 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_list(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L5;}
447
__pyx_1 = (__pyx_v_ch == 'i');
450
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":114 */
451
D_UPDATE_TAIL(__pyx_v_self,1);
453
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":115 */
454
__pyx_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_int(__pyx_v_self); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L5;}
460
__pyx_1 = (__pyx_v_ch == 'd');
463
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":117 */
464
D_UPDATE_TAIL(__pyx_v_self,1);
466
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":118 */
467
__pyx_3 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_dict(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L5;}
1126
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":108
1129
* if c'0' <= ch <= c'9': # <<<<<<<<<<<<<<
1130
* return self._decode_string()
1133
__pyx_t_1 = ('0' <= __pyx_v_ch);
1135
__pyx_t_1 = (__pyx_v_ch <= '9');
1139
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":109
1141
* if c'0' <= ch <= c'9':
1142
* return self._decode_string() # <<<<<<<<<<<<<<
1144
* D_UPDATE_TAIL(self, 1)
1146
__Pyx_XDECREF(__pyx_r);
1147
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_string(__pyx_v_self); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L6;}
1148
__Pyx_GOTREF(__pyx_t_2);
1149
__pyx_r = __pyx_t_2;
1155
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":110
1156
* if c'0' <= ch <= c'9':
1157
* return self._decode_string()
1158
* elif ch == c'l': # <<<<<<<<<<<<<<
1159
* D_UPDATE_TAIL(self, 1)
1160
* return self._decode_list()
1162
__pyx_t_1 = (__pyx_v_ch == 'l');
1165
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":111
1166
* return self._decode_string()
1168
* D_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
1169
* return self._decode_list()
1172
D_UPDATE_TAIL(__pyx_v_self, 1);
1174
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":112
1176
* D_UPDATE_TAIL(self, 1)
1177
* return self._decode_list() # <<<<<<<<<<<<<<
1179
* D_UPDATE_TAIL(self, 1)
1181
__Pyx_XDECREF(__pyx_r);
1182
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_list(__pyx_v_self); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L6;}
1183
__Pyx_GOTREF(__pyx_t_2);
1184
__pyx_r = __pyx_t_2;
1190
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":113
1191
* D_UPDATE_TAIL(self, 1)
1192
* return self._decode_list()
1193
* elif ch == c'i': # <<<<<<<<<<<<<<
1194
* D_UPDATE_TAIL(self, 1)
1195
* return self._decode_int()
1197
__pyx_t_1 = (__pyx_v_ch == 'i');
1200
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":114
1201
* return self._decode_list()
1203
* D_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
1204
* return self._decode_int()
1207
D_UPDATE_TAIL(__pyx_v_self, 1);
1209
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":115
1211
* D_UPDATE_TAIL(self, 1)
1212
* return self._decode_int() # <<<<<<<<<<<<<<
1214
* D_UPDATE_TAIL(self, 1)
1216
__Pyx_XDECREF(__pyx_r);
1217
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_int(__pyx_v_self); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L6;}
1218
__Pyx_GOTREF(__pyx_t_2);
1219
__pyx_r = __pyx_t_2;
1225
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":116
1226
* D_UPDATE_TAIL(self, 1)
1227
* return self._decode_int()
1228
* elif ch == c'd': # <<<<<<<<<<<<<<
1229
* D_UPDATE_TAIL(self, 1)
1230
* return self._decode_dict()
1232
__pyx_t_1 = (__pyx_v_ch == 'd');
1235
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":117
1236
* return self._decode_int()
1238
* D_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
1239
* return self._decode_dict()
1242
D_UPDATE_TAIL(__pyx_v_self, 1);
1244
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":118
1246
* D_UPDATE_TAIL(self, 1)
1247
* return self._decode_dict() # <<<<<<<<<<<<<<
1249
* raise ValueError('unknown object type identifier %r' % ch)
1251
__Pyx_XDECREF(__pyx_r);
1252
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_dict(__pyx_v_self); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L6;}
1253
__Pyx_GOTREF(__pyx_t_2);
1254
__pyx_r = __pyx_t_2;
474
__pyx_2 = PyInt_FromLong(__pyx_v_ch); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L5;}
475
__pyx_3 = PyNumber_Remainder(__pyx_k6p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L5;}
476
Py_DECREF(__pyx_2); __pyx_2 = 0;
477
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L5;}
478
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
480
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L5;}
481
Py_DECREF(__pyx_2); __pyx_2 = 0;
482
__Pyx_Raise(__pyx_3, 0, 0);
483
Py_DECREF(__pyx_3); __pyx_3 = 0;
484
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L5;}
1261
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":120
1262
* return self._decode_dict()
1264
* raise ValueError('unknown object type identifier %r' % ch) # <<<<<<<<<<<<<<
1266
* Py_LeaveRecursiveCall()
1268
__pyx_t_2 = PyInt_FromLong(__pyx_v_ch); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L6;}
1269
__Pyx_GOTREF(__pyx_t_2);
1270
__pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L6;}
1271
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
1272
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1273
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L6;}
1274
__Pyx_GOTREF(__pyx_t_2);
1275
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
1276
__Pyx_GIVEREF(((PyObject *)__pyx_t_3));
1278
__pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L6;}
1279
__Pyx_GOTREF(__pyx_t_3);
1280
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1281
__Pyx_Raise(__pyx_t_3, 0, 0);
1282
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1283
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L6;}
1288
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":122
1289
* raise ValueError('unknown object type identifier %r' % ch)
1291
* Py_LeaveRecursiveCall() # <<<<<<<<<<<<<<
1293
* cdef int _read_digits(self, char stop_char) except -1:
490
1297
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
491
1298
int __pyx_exc_lineno;
492
__pyx_why = 0; goto __pyx_L6;
493
__pyx_L4: __pyx_why = 3; goto __pyx_L6;
1299
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
1300
__pyx_why = 0; goto __pyx_L7;
1301
__pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
1302
__pyx_why = 3; goto __pyx_L7;
496
Py_XDECREF(__pyx_2); __pyx_2 = 0;
497
Py_XDECREF(__pyx_3); __pyx_3 = 0;
498
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1305
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
1306
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
1307
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
499
1308
__pyx_exc_lineno = __pyx_lineno;
503
1312
Py_LeaveRecursiveCall();
504
1313
switch (__pyx_why) {
505
1314
case 3: goto __pyx_L0;
507
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1316
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
508
1317
__pyx_lineno = __pyx_exc_lineno;
509
1318
__pyx_exc_type = 0;
510
1319
__pyx_exc_value = 0;
511
1320
__pyx_exc_tb = 0;
1321
goto __pyx_L1_error;
517
__pyx_r = Py_None; Py_INCREF(Py_None);
1326
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1329
__Pyx_XDECREF(__pyx_t_2);
1330
__Pyx_XDECREF(__pyx_t_3);
522
1331
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._decode_object");
525
Py_DECREF(__pyx_v_self);
1334
__Pyx_XGIVEREF(__pyx_r);
1335
__Pyx_RefNannyFinishContext();
529
static int __pyx_f_6bzrlib_12_bencode_pyx_7Decoder__read_digits(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self,char __pyx_v_stop_char) {
1339
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":124
1340
* Py_LeaveRecursiveCall()
1342
* cdef int _read_digits(self, char stop_char) except -1: # <<<<<<<<<<<<<<
1347
static int __pyx_f_6bzrlib_12_bencode_pyx_7Decoder__read_digits(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self, char __pyx_v_stop_char) {
533
PyObject *__pyx_2 = 0;
534
PyObject *__pyx_3 = 0;
535
PyObject *__pyx_4 = 0;
536
Py_INCREF(__pyx_v_self);
1353
PyObject *__pyx_t_4 = NULL;
1354
PyObject *__pyx_t_5 = NULL;
1355
PyObject *__pyx_t_6 = NULL;
1357
__Pyx_RefNannySetupContext("_read_digits");
538
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":126 */
1359
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":126
1360
* cdef int _read_digits(self, char stop_char) except -1:
1362
* i = 0 # <<<<<<<<<<<<<<
1363
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or
1364
* self.tail[i] == c'-') and i < self.size:
541
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":127 */
1368
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":127
1371
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or # <<<<<<<<<<<<<<
1372
* self.tail[i] == c'-') and i < self.size:
543
__pyx_1 = ((__pyx_v_self->tail[__pyx_v_i]) >= '0');
545
__pyx_1 = ((__pyx_v_self->tail[__pyx_v_i]) <= '9');
548
__pyx_1 = ((__pyx_v_self->tail[__pyx_v_i]) == '-');
551
__pyx_1 = (__pyx_v_i < __pyx_v_self->size);
1377
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":128
1379
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or
1380
* self.tail[i] == c'-') and i < self.size: # <<<<<<<<<<<<<<
1384
__pyx_t_1 = ((__pyx_v_self->tail[__pyx_v_i]) >= '0');
1387
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":127
1390
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or # <<<<<<<<<<<<<<
1391
* self.tail[i] == c'-') and i < self.size:
1394
__pyx_t_2 = ((__pyx_v_self->tail[__pyx_v_i]) <= '9');
1395
__pyx_t_3 = __pyx_t_2;
1397
__pyx_t_3 = __pyx_t_1;
1401
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":128
1403
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or
1404
* self.tail[i] == c'-') and i < self.size: # <<<<<<<<<<<<<<
1408
__pyx_t_1 = ((__pyx_v_self->tail[__pyx_v_i]) == '-');
1409
__pyx_t_2 = __pyx_t_1;
1411
__pyx_t_2 = __pyx_t_3;
1414
__pyx_t_3 = (__pyx_v_i < __pyx_v_self->size);
1415
__pyx_t_1 = __pyx_t_3;
1417
__pyx_t_1 = __pyx_t_2;
1419
if (!__pyx_t_1) break;
1421
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":129
1422
* while ((self.tail[i] >= c'0' and self.tail[i] <= c'9') or
1423
* self.tail[i] == c'-') and i < self.size:
1424
* i = i + 1 # <<<<<<<<<<<<<<
1426
* if self.tail[i] != stop_char:
554
1428
__pyx_v_i = (__pyx_v_i + 1);
557
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":131 */
558
__pyx_1 = ((__pyx_v_self->tail[__pyx_v_i]) != __pyx_v_stop_char);
560
__pyx_2 = PyInt_FromLong(__pyx_v_stop_char); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; goto __pyx_L1;}
561
__pyx_3 = PyInt_FromLong((__pyx_v_self->tail[__pyx_v_i])); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; goto __pyx_L1;}
562
__pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; goto __pyx_L1;}
563
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
564
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
567
__pyx_2 = PyNumber_Remainder(__pyx_k7p, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; goto __pyx_L1;}
568
Py_DECREF(__pyx_4); __pyx_4 = 0;
569
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; goto __pyx_L1;}
570
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
572
__pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; goto __pyx_L1;}
573
Py_DECREF(__pyx_3); __pyx_3 = 0;
574
__Pyx_Raise(__pyx_4, 0, 0);
575
Py_DECREF(__pyx_4); __pyx_4 = 0;
576
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; goto __pyx_L1;}
1431
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":131
1434
* if self.tail[i] != stop_char: # <<<<<<<<<<<<<<
1435
* raise ValueError("Stop character %c not found: %c" %
1436
* (stop_char, self.tail[i]))
1438
__pyx_t_1 = ((__pyx_v_self->tail[__pyx_v_i]) != __pyx_v_stop_char);
1441
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":133
1442
* if self.tail[i] != stop_char:
1443
* raise ValueError("Stop character %c not found: %c" %
1444
* (stop_char, self.tail[i])) # <<<<<<<<<<<<<<
1445
* if (self.tail[0] == c'0' or
1446
* (self.tail[0] == c'-' and self.tail[1] == c'0')):
1448
__pyx_t_4 = PyInt_FromLong(__pyx_v_stop_char); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1449
__Pyx_GOTREF(__pyx_t_4);
1450
__pyx_t_5 = PyInt_FromLong((__pyx_v_self->tail[__pyx_v_i])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1451
__Pyx_GOTREF(__pyx_t_5);
1452
__pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1453
__Pyx_GOTREF(__pyx_t_6);
1454
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
1455
__Pyx_GIVEREF(__pyx_t_4);
1456
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
1457
__Pyx_GIVEREF(__pyx_t_5);
1460
__pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1461
__Pyx_GOTREF(((PyObject *)__pyx_t_5));
1462
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1463
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1464
__Pyx_GOTREF(__pyx_t_6);
1465
PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_5));
1466
__Pyx_GIVEREF(((PyObject *)__pyx_t_5));
1468
__pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1469
__Pyx_GOTREF(__pyx_t_5);
1470
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1471
__Pyx_Raise(__pyx_t_5, 0, 0);
1472
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1473
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
581
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":134 */
582
__pyx_1 = ((__pyx_v_self->tail[0]) == '0');
584
__pyx_1 = ((__pyx_v_self->tail[0]) == '-');
586
__pyx_1 = ((__pyx_v_self->tail[1]) == '0');
1478
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":134
1479
* raise ValueError("Stop character %c not found: %c" %
1480
* (stop_char, self.tail[i]))
1481
* if (self.tail[0] == c'0' or # <<<<<<<<<<<<<<
1482
* (self.tail[0] == c'-' and self.tail[1] == c'0')):
1485
__pyx_t_1 = ((__pyx_v_self->tail[0]) == '0');
1488
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":135
1489
* (stop_char, self.tail[i]))
1490
* if (self.tail[0] == c'0' or
1491
* (self.tail[0] == c'-' and self.tail[1] == c'0')): # <<<<<<<<<<<<<<
1495
__pyx_t_2 = ((__pyx_v_self->tail[0]) == '-');
1497
__pyx_t_3 = ((__pyx_v_self->tail[1]) == '0');
1498
__pyx_t_7 = __pyx_t_3;
1500
__pyx_t_7 = __pyx_t_2;
1502
__pyx_t_2 = __pyx_t_7;
1504
__pyx_t_2 = __pyx_t_1;
590
__pyx_1 = (__pyx_v_i == 1);
1508
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":136
1509
* if (self.tail[0] == c'0' or
1510
* (self.tail[0] == c'-' and self.tail[1] == c'0')):
1511
* if i == 1: # <<<<<<<<<<<<<<
1515
__pyx_t_2 = (__pyx_v_i == 1);
1518
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":137
1519
* (self.tail[0] == c'-' and self.tail[1] == c'0')):
1521
* return i # <<<<<<<<<<<<<<
1523
* raise ValueError # leading zeroes are not allowed
592
1525
__pyx_r = __pyx_v_i;
597
__Pyx_Raise(PyExc_ValueError, 0, 0);
598
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; goto __pyx_L1;}
1531
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":139
1534
* raise ValueError # leading zeroes are not allowed # <<<<<<<<<<<<<<
1538
__Pyx_Raise(__pyx_builtin_ValueError, 0, 0);
1539
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
605
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":140 */
1546
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":140
1548
* raise ValueError # leading zeroes are not allowed
1549
* return i # <<<<<<<<<<<<<<
1551
* cdef object _decode_int(self):
606
1553
__pyx_r = __pyx_v_i;
1559
__Pyx_XDECREF(__pyx_t_4);
1560
__Pyx_XDECREF(__pyx_t_5);
1561
__Pyx_XDECREF(__pyx_t_6);
615
1562
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._read_digits");
618
Py_DECREF(__pyx_v_self);
1565
__Pyx_RefNannyFinishContext();
622
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_int(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
1569
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":142
1572
* cdef object _decode_int(self): # <<<<<<<<<<<<<<
1574
* i = self._read_digits(c'e')
1577
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_int(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
624
1579
PyObject *__pyx_v_ret;
627
PyObject *__pyx_2 = 0;
628
Py_INCREF(__pyx_v_self);
629
__pyx_v_ret = Py_None; Py_INCREF(Py_None);
631
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":144 */
632
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_read_digits(__pyx_v_self,'e'); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; goto __pyx_L1;}
635
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":145 */
1580
PyObject *__pyx_r = NULL;
1582
PyObject *__pyx_t_2 = NULL;
1583
__Pyx_RefNannySetupContext("_decode_int");
1584
__pyx_v_ret = Py_None; __Pyx_INCREF(Py_None);
1586
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":144
1587
* cdef object _decode_int(self):
1589
* i = self._read_digits(c'e') # <<<<<<<<<<<<<<
1593
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_read_digits(__pyx_v_self, 'e'); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1594
__pyx_v_i = __pyx_t_1;
1596
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":145
1598
* i = self._read_digits(c'e')
1599
* self.tail[i] = 0 # <<<<<<<<<<<<<<
1601
* ret = PyInt_FromString(self.tail, NULL, 10)
636
1603
(__pyx_v_self->tail[__pyx_v_i]) = 0;
638
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":146 */
1605
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":146
1606
* i = self._read_digits(c'e')
1608
* try: # <<<<<<<<<<<<<<
1609
* ret = PyInt_FromString(self.tail, NULL, 10)
640
__pyx_2 = PyInt_FromString(__pyx_v_self->tail,NULL,10); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L3;}
641
Py_DECREF(__pyx_v_ret);
642
__pyx_v_ret = __pyx_2;
1614
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":147
1617
* ret = PyInt_FromString(self.tail, NULL, 10) # <<<<<<<<<<<<<<
1619
* self.tail[i] = c'e'
1621
__pyx_t_2 = PyInt_FromString(__pyx_v_self->tail, NULL, 10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L4;}
1622
__Pyx_GOTREF(__pyx_t_2);
1623
__Pyx_DECREF(__pyx_v_ret);
1624
__pyx_v_ret = __pyx_t_2;
1628
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":149
1629
* ret = PyInt_FromString(self.tail, NULL, 10)
1631
* self.tail[i] = c'e' # <<<<<<<<<<<<<<
1632
* D_UPDATE_TAIL(self, i+1)
647
1637
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
648
1638
int __pyx_exc_lineno;
649
__pyx_why = 0; goto __pyx_L4;
1639
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
1640
__pyx_why = 0; goto __pyx_L5;
652
Py_XDECREF(__pyx_2); __pyx_2 = 0;
653
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1643
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
1644
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
654
1645
__pyx_exc_lineno = __pyx_lineno;
658
1649
(__pyx_v_self->tail[__pyx_v_i]) = 'e';
659
1650
switch (__pyx_why) {
661
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1652
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
662
1653
__pyx_lineno = __pyx_exc_lineno;
663
1654
__pyx_exc_type = 0;
664
1655
__pyx_exc_value = 0;
665
1656
__pyx_exc_tb = 0;
1657
goto __pyx_L1_error;
671
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":150 */
672
D_UPDATE_TAIL(__pyx_v_self,(__pyx_v_i + 1));
1662
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":150
1664
* self.tail[i] = c'e'
1665
* D_UPDATE_TAIL(self, i+1) # <<<<<<<<<<<<<<
1669
D_UPDATE_TAIL(__pyx_v_self, (__pyx_v_i + 1));
674
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":151 */
675
Py_INCREF(__pyx_v_ret);
1671
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":151
1672
* self.tail[i] = c'e'
1673
* D_UPDATE_TAIL(self, i+1)
1674
* return ret # <<<<<<<<<<<<<<
1676
* cdef object _decode_string(self):
1678
__Pyx_XDECREF(__pyx_r);
1679
__Pyx_INCREF(__pyx_v_ret);
676
1680
__pyx_r = __pyx_v_ret;
679
__pyx_r = Py_None; Py_INCREF(Py_None);
1683
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1686
__Pyx_XDECREF(__pyx_t_2);
683
1687
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._decode_int");
686
Py_DECREF(__pyx_v_ret);
687
Py_DECREF(__pyx_v_self);
1690
__Pyx_DECREF(__pyx_v_ret);
1691
__Pyx_XGIVEREF(__pyx_r);
1692
__Pyx_RefNannyFinishContext();
691
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
1696
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":153
1699
* cdef object _decode_string(self): # <<<<<<<<<<<<<<
1701
* cdef char *next_tail
1704
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
693
1706
char *__pyx_v_next_tail;
694
1707
PyObject *__pyx_v_result;
697
PyObject *__pyx_2 = 0;
698
PyObject *__pyx_3 = 0;
699
Py_INCREF(__pyx_v_self);
700
__pyx_v_result = Py_None; Py_INCREF(Py_None);
702
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":160 */
703
__pyx_v_n = strtol(__pyx_v_self->tail,(&__pyx_v_next_tail),10);
705
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":161 */
706
__pyx_1 = (__pyx_v_next_tail == NULL);
708
__pyx_1 = ((__pyx_v_next_tail[0]) != ':');
711
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
712
Py_INCREF(__pyx_k8p);
713
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k8p);
714
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
715
Py_DECREF(__pyx_2); __pyx_2 = 0;
716
__Pyx_Raise(__pyx_3, 0, 0);
717
Py_DECREF(__pyx_3); __pyx_3 = 0;
718
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
723
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":164 */
724
__pyx_1 = ((__pyx_v_self->tail[0]) == '0');
726
__pyx_1 = (__pyx_v_n != 0);
728
__pyx_1 = ((__pyx_v_next_tail - __pyx_v_self->tail) != 1);
732
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; goto __pyx_L1;}
733
Py_INCREF(__pyx_k9p);
734
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k9p);
735
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; goto __pyx_L1;}
736
Py_DECREF(__pyx_2); __pyx_2 = 0;
737
__Pyx_Raise(__pyx_3, 0, 0);
738
Py_DECREF(__pyx_3); __pyx_3 = 0;
739
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; goto __pyx_L1;}
1708
PyObject *__pyx_r = NULL;
1712
PyObject *__pyx_t_4 = NULL;
1713
PyObject *__pyx_t_5 = NULL;
1715
__Pyx_RefNannySetupContext("_decode_string");
1716
__pyx_v_result = Py_None; __Pyx_INCREF(Py_None);
1718
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":160
1719
* # or they wouldn't have called _decode_string
1720
* # strtol will stop at trailing whitespace, etc
1721
* n = strtol(self.tail, &next_tail, 10) # <<<<<<<<<<<<<<
1722
* if next_tail == NULL or next_tail[0] != c':':
1723
* raise ValueError('string len not terminated by ":"')
1725
__pyx_v_n = strtol(__pyx_v_self->tail, (&__pyx_v_next_tail), 10);
1727
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":161
1728
* # strtol will stop at trailing whitespace, etc
1729
* n = strtol(self.tail, &next_tail, 10)
1730
* if next_tail == NULL or next_tail[0] != c':': # <<<<<<<<<<<<<<
1731
* raise ValueError('string len not terminated by ":"')
1732
* # strtol allows leading zeros, so validate that we don't have that
1734
__pyx_t_1 = (__pyx_v_next_tail == NULL);
1736
__pyx_t_2 = ((__pyx_v_next_tail[0]) != ':');
1737
__pyx_t_3 = __pyx_t_2;
1739
__pyx_t_3 = __pyx_t_1;
1743
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":162
1744
* n = strtol(self.tail, &next_tail, 10)
1745
* if next_tail == NULL or next_tail[0] != c':':
1746
* raise ValueError('string len not terminated by ":"') # <<<<<<<<<<<<<<
1747
* # strtol allows leading zeros, so validate that we don't have that
1748
* if (self.tail[0] == c'0'
1750
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1751
__Pyx_GOTREF(__pyx_t_4);
1752
__Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
1753
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_7));
1754
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
1755
__pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1756
__Pyx_GOTREF(__pyx_t_5);
1757
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1758
__Pyx_Raise(__pyx_t_5, 0, 0);
1759
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1760
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
744
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":167 */
745
D_UPDATE_TAIL(__pyx_v_self,((__pyx_v_next_tail - __pyx_v_self->tail) + 1));
747
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":168 */
748
__pyx_1 = (__pyx_v_n == 0);
750
Py_INCREF(__pyx_k10p);
751
__pyx_r = __pyx_k10p;
1765
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":164
1766
* raise ValueError('string len not terminated by ":"')
1767
* # strtol allows leading zeros, so validate that we don't have that
1768
* if (self.tail[0] == c'0' # <<<<<<<<<<<<<<
1769
* and (n != 0 or (next_tail - self.tail != 1))):
1770
* raise ValueError('leading zeros are not allowed')
1772
__pyx_t_3 = ((__pyx_v_self->tail[0]) == '0');
1775
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":165
1776
* # strtol allows leading zeros, so validate that we don't have that
1777
* if (self.tail[0] == c'0'
1778
* and (n != 0 or (next_tail - self.tail != 1))): # <<<<<<<<<<<<<<
1779
* raise ValueError('leading zeros are not allowed')
1780
* D_UPDATE_TAIL(self, next_tail - self.tail + 1)
1782
__pyx_t_1 = (__pyx_v_n != 0);
1784
__pyx_t_2 = ((__pyx_v_next_tail - __pyx_v_self->tail) != 1);
1785
__pyx_t_6 = __pyx_t_2;
1787
__pyx_t_6 = __pyx_t_1;
1789
__pyx_t_1 = __pyx_t_6;
1791
__pyx_t_1 = __pyx_t_3;
1795
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":166
1796
* if (self.tail[0] == c'0'
1797
* and (n != 0 or (next_tail - self.tail != 1))):
1798
* raise ValueError('leading zeros are not allowed') # <<<<<<<<<<<<<<
1799
* D_UPDATE_TAIL(self, next_tail - self.tail + 1)
1802
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1803
__Pyx_GOTREF(__pyx_t_5);
1804
__Pyx_INCREF(((PyObject *)__pyx_kp_s_8));
1805
PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_8));
1806
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_8));
1807
__pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1808
__Pyx_GOTREF(__pyx_t_4);
1809
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1810
__Pyx_Raise(__pyx_t_4, 0, 0);
1811
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1812
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
757
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":170 */
758
__pyx_1 = (__pyx_v_n > __pyx_v_self->size);
760
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L1;}
761
Py_INCREF(__pyx_k3p);
762
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k3p);
763
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L1;}
764
Py_DECREF(__pyx_2); __pyx_2 = 0;
765
__Pyx_Raise(__pyx_3, 0, 0);
766
Py_DECREF(__pyx_3); __pyx_3 = 0;
767
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L1;}
1817
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":167
1818
* and (n != 0 or (next_tail - self.tail != 1))):
1819
* raise ValueError('leading zeros are not allowed')
1820
* D_UPDATE_TAIL(self, next_tail - self.tail + 1) # <<<<<<<<<<<<<<
1824
D_UPDATE_TAIL(__pyx_v_self, ((__pyx_v_next_tail - __pyx_v_self->tail) + 1));
1826
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":168
1827
* raise ValueError('leading zeros are not allowed')
1828
* D_UPDATE_TAIL(self, next_tail - self.tail + 1)
1829
* if n == 0: # <<<<<<<<<<<<<<
1833
__pyx_t_1 = (__pyx_v_n == 0);
1836
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":169
1837
* D_UPDATE_TAIL(self, next_tail - self.tail + 1)
1839
* return '' # <<<<<<<<<<<<<<
1841
* raise ValueError('stream underflow')
1843
__Pyx_XDECREF(__pyx_r);
1844
__Pyx_INCREF(((PyObject *)__pyx_kp_s_9));
1845
__pyx_r = ((PyObject *)__pyx_kp_s_9);
772
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":172 */
773
__pyx_1 = (__pyx_v_n < 0);
775
__pyx_2 = PyInt_FromLong(__pyx_v_n); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
776
__pyx_3 = PyNumber_Remainder(__pyx_k11p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
777
Py_DECREF(__pyx_2); __pyx_2 = 0;
778
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
779
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
781
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
782
Py_DECREF(__pyx_2); __pyx_2 = 0;
783
__Pyx_Raise(__pyx_3, 0, 0);
784
Py_DECREF(__pyx_3); __pyx_3 = 0;
785
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
1851
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":170
1854
* if n > self.size: # <<<<<<<<<<<<<<
1855
* raise ValueError('stream underflow')
1858
__pyx_t_1 = (__pyx_v_n > __pyx_v_self->size);
1861
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":171
1864
* raise ValueError('stream underflow') # <<<<<<<<<<<<<<
1866
* raise ValueError('string size below zero: %d' % n)
1868
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1869
__Pyx_GOTREF(__pyx_t_4);
1870
__Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
1871
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_3));
1872
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
1873
__pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1874
__Pyx_GOTREF(__pyx_t_5);
1875
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1876
__Pyx_Raise(__pyx_t_5, 0, 0);
1877
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1878
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
790
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":175 */
791
__pyx_2 = PyString_FromStringAndSize(__pyx_v_self->tail,__pyx_v_n); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L1;}
792
Py_DECREF(__pyx_v_result);
793
__pyx_v_result = __pyx_2;
796
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":176 */
797
D_UPDATE_TAIL(__pyx_v_self,__pyx_v_n);
799
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":177 */
800
Py_INCREF(__pyx_v_result);
1883
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":172
1885
* raise ValueError('stream underflow')
1886
* if n < 0: # <<<<<<<<<<<<<<
1887
* raise ValueError('string size below zero: %d' % n)
1890
__pyx_t_1 = (__pyx_v_n < 0);
1893
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":173
1894
* raise ValueError('stream underflow')
1896
* raise ValueError('string size below zero: %d' % n) # <<<<<<<<<<<<<<
1898
* result = PyString_FromStringAndSize(self.tail, n)
1900
__pyx_t_5 = PyInt_FromLong(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1901
__Pyx_GOTREF(__pyx_t_5);
1902
__pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_10), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1903
__Pyx_GOTREF(((PyObject *)__pyx_t_4));
1904
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1905
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1906
__Pyx_GOTREF(__pyx_t_5);
1907
PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
1908
__Pyx_GIVEREF(((PyObject *)__pyx_t_4));
1910
__pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1911
__Pyx_GOTREF(__pyx_t_4);
1912
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1913
__Pyx_Raise(__pyx_t_4, 0, 0);
1914
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1915
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1920
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":175
1921
* raise ValueError('string size below zero: %d' % n)
1923
* result = PyString_FromStringAndSize(self.tail, n) # <<<<<<<<<<<<<<
1924
* D_UPDATE_TAIL(self, n)
1927
__pyx_t_4 = PyString_FromStringAndSize(__pyx_v_self->tail, __pyx_v_n); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1928
__Pyx_GOTREF(__pyx_t_4);
1929
__Pyx_DECREF(__pyx_v_result);
1930
__pyx_v_result = __pyx_t_4;
1933
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":176
1935
* result = PyString_FromStringAndSize(self.tail, n)
1936
* D_UPDATE_TAIL(self, n) # <<<<<<<<<<<<<<
1940
D_UPDATE_TAIL(__pyx_v_self, __pyx_v_n);
1942
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":177
1943
* result = PyString_FromStringAndSize(self.tail, n)
1944
* D_UPDATE_TAIL(self, n)
1945
* return result # <<<<<<<<<<<<<<
1947
* cdef object _decode_list(self):
1949
__Pyx_XDECREF(__pyx_r);
1950
__Pyx_INCREF(__pyx_v_result);
801
1951
__pyx_r = __pyx_v_result;
804
__pyx_r = Py_None; Py_INCREF(Py_None);
1954
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1957
__Pyx_XDECREF(__pyx_t_4);
1958
__Pyx_XDECREF(__pyx_t_5);
809
1959
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._decode_string");
812
Py_DECREF(__pyx_v_result);
813
Py_DECREF(__pyx_v_self);
1962
__Pyx_DECREF(__pyx_v_result);
1963
__Pyx_XGIVEREF(__pyx_r);
1964
__Pyx_RefNannyFinishContext();
817
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_list(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
1968
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":179
1971
* cdef object _decode_list(self): # <<<<<<<<<<<<<<
1976
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_list(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
818
1977
PyObject *__pyx_v_result;
820
PyObject *__pyx_1 = 0;
822
PyObject *__pyx_3 = 0;
823
Py_INCREF(__pyx_v_self);
824
__pyx_v_result = Py_None; Py_INCREF(Py_None);
826
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":180 */
827
__pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L1;}
828
Py_DECREF(__pyx_v_result);
829
__pyx_v_result = __pyx_1;
832
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":182 */
1978
PyObject *__pyx_r = NULL;
1979
PyObject *__pyx_t_1 = NULL;
1982
PyObject *__pyx_t_4 = NULL;
1983
__Pyx_RefNannySetupContext("_decode_list");
1984
__pyx_v_result = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
1986
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":180
1988
* cdef object _decode_list(self):
1989
* result = [] # <<<<<<<<<<<<<<
1991
* while self.size > 0:
1993
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1994
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
1995
__Pyx_DECREF(((PyObject *)__pyx_v_result));
1996
__pyx_v_result = __pyx_t_1;
1999
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":182
2002
* while self.size > 0: # <<<<<<<<<<<<<<
2003
* if self.tail[0] == c'e':
2004
* D_UPDATE_TAIL(self, 1)
834
__pyx_2 = (__pyx_v_self->size > 0);
836
__pyx_2 = ((__pyx_v_self->tail[0]) == 'e');
839
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":184 */
840
D_UPDATE_TAIL(__pyx_v_self,1);
842
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":185 */
843
__pyx_2 = __pyx_v_self->_yield_tuples;
845
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L1;}
846
Py_INCREF(__pyx_v_result);
847
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_result);
848
__pyx_3 = PyObject_CallObject(((PyObject *)(&PyTuple_Type)), __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L1;}
849
Py_DECREF(__pyx_1); __pyx_1 = 0;
2007
__pyx_t_2 = (__pyx_v_self->size > 0);
2008
if (!__pyx_t_2) break;
2010
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":183
2012
* while self.size > 0:
2013
* if self.tail[0] == c'e': # <<<<<<<<<<<<<<
2014
* D_UPDATE_TAIL(self, 1)
2015
* if self._yield_tuples:
2017
__pyx_t_2 = ((__pyx_v_self->tail[0]) == 'e');
2020
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":184
2021
* while self.size > 0:
2022
* if self.tail[0] == c'e':
2023
* D_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
2024
* if self._yield_tuples:
2025
* return tuple(result)
2027
D_UPDATE_TAIL(__pyx_v_self, 1);
2029
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":185
2030
* if self.tail[0] == c'e':
2031
* D_UPDATE_TAIL(self, 1)
2032
* if self._yield_tuples: # <<<<<<<<<<<<<<
2033
* return tuple(result)
2036
if (__pyx_v_self->_yield_tuples) {
2038
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":186
2039
* D_UPDATE_TAIL(self, 1)
2040
* if self._yield_tuples:
2041
* return tuple(result) # <<<<<<<<<<<<<<
2045
__Pyx_XDECREF(__pyx_r);
2046
if (unlikely(__pyx_v_result == Py_None)) {
2047
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2049
__pyx_t_1 = ((PyObject *)PyList_AsTuple(__pyx_v_result)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2050
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
2051
__pyx_r = ((PyObject *)__pyx_t_1);
856
Py_INCREF(__pyx_v_result);
857
__pyx_r = __pyx_v_result;
2058
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":188
2059
* return tuple(result)
2061
* return result # <<<<<<<<<<<<<<
2063
* # As a quick shortcut, check to see if the next object is a
2065
__Pyx_XDECREF(__pyx_r);
2066
__Pyx_INCREF(((PyObject *)__pyx_v_result));
2067
__pyx_r = ((PyObject *)__pyx_v_result);
864
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_object(__pyx_v_self); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; goto __pyx_L1;}
865
__pyx_2 = PyList_Append(__pyx_v_result,__pyx_1); if (__pyx_2 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; goto __pyx_L1;}
866
Py_DECREF(__pyx_1); __pyx_1 = 0;
2075
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":193
2076
* # string, since we know that won't be creating recursion
2077
* # if self.tail[0] >= c'0' and self.tail[0] <= c'9':
2078
* PyList_Append(result, self._decode_object()) # <<<<<<<<<<<<<<
2080
* raise ValueError('malformed list')
2082
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_object(__pyx_v_self); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2083
__Pyx_GOTREF(__pyx_t_1);
2084
__pyx_t_3 = PyList_Append(((PyObject *)__pyx_v_result), __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2085
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
871
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":195 */
872
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; goto __pyx_L1;}
873
Py_INCREF(__pyx_k12p);
874
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k12p);
875
__pyx_1 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; goto __pyx_L1;}
876
Py_DECREF(__pyx_3); __pyx_3 = 0;
877
__Pyx_Raise(__pyx_1, 0, 0);
878
Py_DECREF(__pyx_1); __pyx_1 = 0;
879
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; goto __pyx_L1;}
2090
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":195
2091
* PyList_Append(result, self._decode_object())
2093
* raise ValueError('malformed list') # <<<<<<<<<<<<<<
2095
* cdef object _decode_dict(self):
2097
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2098
__Pyx_GOTREF(__pyx_t_1);
2099
__Pyx_INCREF(((PyObject *)__pyx_kp_s_11));
2100
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_11));
2101
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_11));
2102
__pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2103
__Pyx_GOTREF(__pyx_t_4);
2104
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2105
__Pyx_Raise(__pyx_t_4, 0, 0);
2106
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2107
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
881
__pyx_r = Py_None; Py_INCREF(Py_None);
2109
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2112
__Pyx_XDECREF(__pyx_t_1);
2113
__Pyx_XDECREF(__pyx_t_4);
886
2114
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._decode_list");
889
Py_DECREF(__pyx_v_result);
890
Py_DECREF(__pyx_v_self);
2117
__Pyx_DECREF(__pyx_v_result);
2118
__Pyx_XGIVEREF(__pyx_r);
2119
__Pyx_RefNannyFinishContext();
894
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_dict(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
2123
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":197
2124
* raise ValueError('malformed list')
2126
* cdef object _decode_dict(self): # <<<<<<<<<<<<<<
2131
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Decoder__decode_dict(struct __pyx_obj_6bzrlib_12_bencode_pyx_Decoder *__pyx_v_self) {
895
2132
char __pyx_v_ch;
896
2133
PyObject *__pyx_v_result;
897
2134
PyObject *__pyx_v_lastkey;
898
2135
PyObject *__pyx_v_key;
899
2136
PyObject *__pyx_v_value;
901
PyObject *__pyx_1 = 0;
903
PyObject *__pyx_3 = 0;
904
Py_INCREF(__pyx_v_self);
905
__pyx_v_result = Py_None; Py_INCREF(Py_None);
906
__pyx_v_lastkey = Py_None; Py_INCREF(Py_None);
907
__pyx_v_key = Py_None; Py_INCREF(Py_None);
908
__pyx_v_value = Py_None; Py_INCREF(Py_None);
910
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":200 */
911
__pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; goto __pyx_L1;}
912
Py_DECREF(__pyx_v_result);
913
__pyx_v_result = __pyx_1;
916
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":201 */
918
Py_DECREF(__pyx_v_lastkey);
2137
PyObject *__pyx_r = NULL;
2138
PyObject *__pyx_t_1 = NULL;
2142
PyObject *__pyx_t_5 = NULL;
2143
__Pyx_RefNannySetupContext("_decode_dict");
2144
__pyx_v_result = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
2145
__pyx_v_lastkey = Py_None; __Pyx_INCREF(Py_None);
2146
__pyx_v_key = Py_None; __Pyx_INCREF(Py_None);
2147
__pyx_v_value = Py_None; __Pyx_INCREF(Py_None);
2149
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":200
2152
* result = {} # <<<<<<<<<<<<<<
2156
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2157
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
2158
__Pyx_DECREF(((PyObject *)__pyx_v_result));
2159
__pyx_v_result = __pyx_t_1;
2162
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":201
2165
* lastkey = None # <<<<<<<<<<<<<<
2167
* while self.size > 0:
2169
__Pyx_INCREF(Py_None);
2170
__Pyx_DECREF(__pyx_v_lastkey);
919
2171
__pyx_v_lastkey = Py_None;
921
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":203 */
2173
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":203
2176
* while self.size > 0: # <<<<<<<<<<<<<<
923
__pyx_2 = (__pyx_v_self->size > 0);
2181
__pyx_t_2 = (__pyx_v_self->size > 0);
2182
if (!__pyx_t_2) break;
926
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":204 */
2184
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":204
2186
* while self.size > 0:
2187
* ch = self.tail[0] # <<<<<<<<<<<<<<
2189
* D_UPDATE_TAIL(self, 1)
927
2191
__pyx_v_ch = (__pyx_v_self->tail[0]);
929
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":205 */
930
__pyx_2 = (__pyx_v_ch == 'e');
933
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":206 */
934
D_UPDATE_TAIL(__pyx_v_self,1);
936
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":207 */
937
Py_INCREF(__pyx_v_result);
938
__pyx_r = __pyx_v_result;
2193
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":205
2194
* while self.size > 0:
2196
* if ch == c'e': # <<<<<<<<<<<<<<
2197
* D_UPDATE_TAIL(self, 1)
2200
__pyx_t_2 = (__pyx_v_ch == 'e');
2203
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":206
2206
* D_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
2210
D_UPDATE_TAIL(__pyx_v_self, 1);
2212
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":207
2214
* D_UPDATE_TAIL(self, 1)
2215
* return result # <<<<<<<<<<<<<<
2217
* # keys should be strings only
2219
__Pyx_XDECREF(__pyx_r);
2220
__Pyx_INCREF(((PyObject *)__pyx_v_result));
2221
__pyx_r = ((PyObject *)__pyx_v_result);
944
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":210 */
945
__pyx_2 = ((__pyx_v_self->tail[0]) < '0');
947
__pyx_2 = ((__pyx_v_self->tail[0]) > '9');
950
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; goto __pyx_L1;}
951
Py_INCREF(__pyx_k13p);
952
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_k13p);
953
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; goto __pyx_L1;}
954
Py_DECREF(__pyx_1); __pyx_1 = 0;
955
__Pyx_Raise(__pyx_3, 0, 0);
956
Py_DECREF(__pyx_3); __pyx_3 = 0;
957
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; goto __pyx_L1;}
962
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":212 */
963
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_string(__pyx_v_self); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; goto __pyx_L1;}
964
Py_DECREF(__pyx_v_key);
965
__pyx_v_key = __pyx_1;
968
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":213 */
969
if (PyObject_Cmp(__pyx_v_lastkey, __pyx_v_key, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; goto __pyx_L1;}
970
__pyx_2 = __pyx_2 >= 0;
972
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; goto __pyx_L1;}
973
Py_INCREF(__pyx_k14p);
974
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k14p);
975
__pyx_1 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; goto __pyx_L1;}
976
Py_DECREF(__pyx_3); __pyx_3 = 0;
977
__Pyx_Raise(__pyx_1, 0, 0);
978
Py_DECREF(__pyx_1); __pyx_1 = 0;
979
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; goto __pyx_L1;}
2227
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":210
2229
* # keys should be strings only
2230
* if self.tail[0] < c'0' or self.tail[0] > c'9': # <<<<<<<<<<<<<<
2231
* raise ValueError('key was not a simple string.')
2232
* key = self._decode_string()
2234
__pyx_t_2 = ((__pyx_v_self->tail[0]) < '0');
2236
__pyx_t_3 = ((__pyx_v_self->tail[0]) > '9');
2237
__pyx_t_4 = __pyx_t_3;
2239
__pyx_t_4 = __pyx_t_2;
2243
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":211
2244
* # keys should be strings only
2245
* if self.tail[0] < c'0' or self.tail[0] > c'9':
2246
* raise ValueError('key was not a simple string.') # <<<<<<<<<<<<<<
2247
* key = self._decode_string()
2248
* if lastkey >= key:
2250
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2251
__Pyx_GOTREF(__pyx_t_1);
2252
__Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
2253
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_12));
2254
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12));
2255
__pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2256
__Pyx_GOTREF(__pyx_t_5);
2257
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2258
__Pyx_Raise(__pyx_t_5, 0, 0);
2259
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2260
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2265
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":212
2266
* if self.tail[0] < c'0' or self.tail[0] > c'9':
2267
* raise ValueError('key was not a simple string.')
2268
* key = self._decode_string() # <<<<<<<<<<<<<<
2269
* if lastkey >= key:
2270
* raise ValueError('dict keys disordered')
2272
__pyx_t_5 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_string(__pyx_v_self); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2273
__Pyx_GOTREF(__pyx_t_5);
2274
__Pyx_DECREF(__pyx_v_key);
2275
__pyx_v_key = __pyx_t_5;
2278
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":213
2279
* raise ValueError('key was not a simple string.')
2280
* key = self._decode_string()
2281
* if lastkey >= key: # <<<<<<<<<<<<<<
2282
* raise ValueError('dict keys disordered')
2285
__pyx_t_5 = PyObject_RichCompare(__pyx_v_lastkey, __pyx_v_key, Py_GE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2286
__Pyx_GOTREF(__pyx_t_5);
2287
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2288
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2291
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":214
2292
* key = self._decode_string()
2293
* if lastkey >= key:
2294
* raise ValueError('dict keys disordered') # <<<<<<<<<<<<<<
2298
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2299
__Pyx_GOTREF(__pyx_t_5);
2300
__Pyx_INCREF(((PyObject *)__pyx_kp_s_13));
2301
PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_13));
2302
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_13));
2303
__pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2304
__Pyx_GOTREF(__pyx_t_1);
2305
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2306
__Pyx_Raise(__pyx_t_1, 0, 0);
2307
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2308
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
983
Py_INCREF(__pyx_v_key);
984
Py_DECREF(__pyx_v_lastkey);
2313
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":216
2314
* raise ValueError('dict keys disordered')
2316
* lastkey = key # <<<<<<<<<<<<<<
2317
* value = self._decode_object()
2318
* result[key] = value
2320
__Pyx_INCREF(__pyx_v_key);
2321
__Pyx_DECREF(__pyx_v_lastkey);
985
2322
__pyx_v_lastkey = __pyx_v_key;
989
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":217 */
990
__pyx_3 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_object(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; goto __pyx_L1;}
991
Py_DECREF(__pyx_v_value);
992
__pyx_v_value = __pyx_3;
995
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":218 */
996
if (PyObject_SetItem(__pyx_v_result, __pyx_v_key, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; goto __pyx_L1;}
2326
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":217
2329
* value = self._decode_object() # <<<<<<<<<<<<<<
2330
* result[key] = value
2333
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder *)__pyx_v_self->__pyx_vtab)->_decode_object(__pyx_v_self); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2334
__Pyx_GOTREF(__pyx_t_1);
2335
__Pyx_DECREF(__pyx_v_value);
2336
__pyx_v_value = __pyx_t_1;
2339
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":218
2341
* value = self._decode_object()
2342
* result[key] = value # <<<<<<<<<<<<<<
2344
* raise ValueError('malformed dict')
2346
if (PyDict_SetItem(((PyObject *)__pyx_v_result), __pyx_v_key, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1001
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":220 */
1002
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
1003
Py_INCREF(__pyx_k15p);
1004
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_k15p);
1005
__pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
1006
Py_DECREF(__pyx_1); __pyx_1 = 0;
1007
__Pyx_Raise(__pyx_3, 0, 0);
1008
Py_DECREF(__pyx_3); __pyx_3 = 0;
1009
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
2351
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":220
2352
* result[key] = value
2354
* raise ValueError('malformed dict') # <<<<<<<<<<<<<<
2358
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2359
__Pyx_GOTREF(__pyx_t_1);
2360
__Pyx_INCREF(((PyObject *)__pyx_kp_s_14));
2361
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_14));
2362
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_14));
2363
__pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2364
__Pyx_GOTREF(__pyx_t_5);
2365
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2366
__Pyx_Raise(__pyx_t_5, 0, 0);
2367
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2368
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1011
__pyx_r = Py_None; Py_INCREF(Py_None);
2370
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1014
Py_XDECREF(__pyx_1);
1015
Py_XDECREF(__pyx_3);
2373
__Pyx_XDECREF(__pyx_t_1);
2374
__Pyx_XDECREF(__pyx_t_5);
1016
2375
__Pyx_AddTraceback("bzrlib._bencode_pyx.Decoder._decode_dict");
1019
Py_DECREF(__pyx_v_result);
1020
Py_DECREF(__pyx_v_lastkey);
1021
Py_DECREF(__pyx_v_key);
1022
Py_DECREF(__pyx_v_value);
1023
Py_DECREF(__pyx_v_self);
2378
__Pyx_DECREF(__pyx_v_result);
2379
__Pyx_DECREF(__pyx_v_lastkey);
2380
__Pyx_DECREF(__pyx_v_key);
2381
__Pyx_DECREF(__pyx_v_value);
2382
__Pyx_XGIVEREF(__pyx_r);
2383
__Pyx_RefNannyFinishContext();
1024
2384
return __pyx_r;
1027
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bdecode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2387
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":223
2390
* def bdecode(object s): # <<<<<<<<<<<<<<
2391
* """Decode string x to Python object"""
2392
* return Decoder(s).decode()
2395
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bdecode(PyObject *__pyx_self, PyObject *__pyx_v_s); /*proto*/
1028
2396
static char __pyx_doc_6bzrlib_12_bencode_pyx_bdecode[] = "Decode string x to Python object";
1029
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bdecode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1030
PyObject *__pyx_v_s = 0;
1032
PyObject *__pyx_1 = 0;
1033
PyObject *__pyx_2 = 0;
1034
static char *__pyx_argnames[] = {"s",0};
1035
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_s)) return 0;
1036
Py_INCREF(__pyx_v_s);
1037
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
1038
Py_INCREF(__pyx_v_s);
1039
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_s);
1040
__pyx_2 = PyObject_CallObject(((PyObject *)__pyx_ptype_6bzrlib_12_bencode_pyx_Decoder), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
1041
Py_DECREF(__pyx_1); __pyx_1 = 0;
1042
__pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_decode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
1043
Py_DECREF(__pyx_2); __pyx_2 = 0;
1044
__pyx_2 = PyObject_CallObject(__pyx_1, 0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
1045
Py_DECREF(__pyx_1); __pyx_1 = 0;
1050
__pyx_r = Py_None; Py_INCREF(Py_None);
1053
Py_XDECREF(__pyx_1);
1054
Py_XDECREF(__pyx_2);
2397
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bdecode(PyObject *__pyx_self, PyObject *__pyx_v_s) {
2398
PyObject *__pyx_r = NULL;
2399
PyObject *__pyx_t_1 = NULL;
2400
PyObject *__pyx_t_2 = NULL;
2401
__Pyx_RefNannySetupContext("bdecode");
2402
__pyx_self = __pyx_self;
2404
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":225
2405
* def bdecode(object s):
2406
* """Decode string x to Python object"""
2407
* return Decoder(s).decode() # <<<<<<<<<<<<<<
2411
__Pyx_XDECREF(__pyx_r);
2412
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2413
__Pyx_GOTREF(__pyx_t_1);
2414
__Pyx_INCREF(__pyx_v_s);
2415
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_s);
2416
__Pyx_GIVEREF(__pyx_v_s);
2417
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6bzrlib_12_bencode_pyx_Decoder)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2418
__Pyx_GOTREF(__pyx_t_2);
2419
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2420
__pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__decode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2421
__Pyx_GOTREF(__pyx_t_1);
2422
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2423
__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 = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2424
__Pyx_GOTREF(__pyx_t_2);
2425
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2426
__pyx_r = __pyx_t_2;
2430
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2433
__Pyx_XDECREF(__pyx_t_1);
2434
__Pyx_XDECREF(__pyx_t_2);
1055
2435
__Pyx_AddTraceback("bzrlib._bencode_pyx.bdecode");
1058
Py_DECREF(__pyx_v_s);
2438
__Pyx_XGIVEREF(__pyx_r);
2439
__Pyx_RefNannyFinishContext();
1059
2440
return __pyx_r;
1062
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bdecode_as_tuple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2443
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":228
2446
* def bdecode_as_tuple(object s): # <<<<<<<<<<<<<<
2447
* """Decode string x to Python object, using tuples rather than lists."""
2448
* return Decoder(s, True).decode()
2451
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bdecode_as_tuple(PyObject *__pyx_self, PyObject *__pyx_v_s); /*proto*/
1063
2452
static char __pyx_doc_6bzrlib_12_bencode_pyx_bdecode_as_tuple[] = "Decode string x to Python object, using tuples rather than lists.";
1064
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bdecode_as_tuple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1065
PyObject *__pyx_v_s = 0;
1067
PyObject *__pyx_1 = 0;
1068
PyObject *__pyx_2 = 0;
1069
static char *__pyx_argnames[] = {"s",0};
1070
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_s)) return 0;
1071
Py_INCREF(__pyx_v_s);
1072
__pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
1073
Py_INCREF(__pyx_v_s);
1074
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_s);
1076
PyTuple_SET_ITEM(__pyx_1, 1, Py_True);
1077
__pyx_2 = PyObject_CallObject(((PyObject *)__pyx_ptype_6bzrlib_12_bencode_pyx_Decoder), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
1078
Py_DECREF(__pyx_1); __pyx_1 = 0;
1079
__pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_decode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
1080
Py_DECREF(__pyx_2); __pyx_2 = 0;
1081
__pyx_2 = PyObject_CallObject(__pyx_1, 0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
1082
Py_DECREF(__pyx_1); __pyx_1 = 0;
1087
__pyx_r = Py_None; Py_INCREF(Py_None);
1090
Py_XDECREF(__pyx_1);
1091
Py_XDECREF(__pyx_2);
2453
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bdecode_as_tuple(PyObject *__pyx_self, PyObject *__pyx_v_s) {
2454
PyObject *__pyx_r = NULL;
2455
PyObject *__pyx_t_1 = NULL;
2456
PyObject *__pyx_t_2 = NULL;
2457
__Pyx_RefNannySetupContext("bdecode_as_tuple");
2458
__pyx_self = __pyx_self;
2460
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":230
2461
* def bdecode_as_tuple(object s):
2462
* """Decode string x to Python object, using tuples rather than lists."""
2463
* return Decoder(s, True).decode() # <<<<<<<<<<<<<<
2467
__Pyx_XDECREF(__pyx_r);
2468
__pyx_t_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2469
__Pyx_GOTREF(__pyx_t_1);
2470
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2471
__Pyx_GOTREF(__pyx_t_2);
2472
__Pyx_INCREF(__pyx_v_s);
2473
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_s);
2474
__Pyx_GIVEREF(__pyx_v_s);
2475
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
2476
__Pyx_GIVEREF(__pyx_t_1);
2478
__pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6bzrlib_12_bencode_pyx_Decoder)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2479
__Pyx_GOTREF(__pyx_t_1);
2480
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2481
__pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__decode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2482
__Pyx_GOTREF(__pyx_t_2);
2483
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2484
__pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2485
__Pyx_GOTREF(__pyx_t_1);
2486
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2487
__pyx_r = __pyx_t_1;
2491
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2494
__Pyx_XDECREF(__pyx_t_1);
2495
__Pyx_XDECREF(__pyx_t_2);
1092
2496
__Pyx_AddTraceback("bzrlib._bencode_pyx.bdecode_as_tuple");
1095
Py_DECREF(__pyx_v_s);
2499
__Pyx_XGIVEREF(__pyx_r);
2500
__Pyx_RefNannyFinishContext();
1096
2501
return __pyx_r;
1099
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_9Bencached___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1100
static PyMethodDef __pyx_mdef_6bzrlib_12_bencode_pyx_9Bencached___init__ = {"__init__", (PyCFunction)__pyx_f_6bzrlib_12_bencode_pyx_9Bencached___init__, METH_VARARGS|METH_KEYWORDS, 0};
1101
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_9Bencached___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2504
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":236
2505
* __slots__ = ['bencoded']
2507
* def __init__(self, s): # <<<<<<<<<<<<<<
2512
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_9Bencached___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2513
static PyMethodDef __pyx_mdef_6bzrlib_12_bencode_pyx_9Bencached___init__ = {__Pyx_NAMESTR("__init__"), (PyCFunction)__pyx_pf_6bzrlib_12_bencode_pyx_9Bencached___init__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
2514
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_9Bencached___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1102
2515
PyObject *__pyx_v_self = 0;
1103
2516
PyObject *__pyx_v_s = 0;
1105
static char *__pyx_argnames[] = {"self","s",0};
1106
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_self, &__pyx_v_s)) return 0;
1107
Py_INCREF(__pyx_v_self);
1108
Py_INCREF(__pyx_v_s);
1109
if (PyObject_SetAttr(__pyx_v_self, __pyx_n_bencoded, __pyx_v_s) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; goto __pyx_L1;}
1111
__pyx_r = Py_None; Py_INCREF(Py_None);
1114
__Pyx_AddTraceback("bzrlib._bencode_pyx.Bencached.__init__");
1117
Py_DECREF(__pyx_v_self);
1118
Py_DECREF(__pyx_v_s);
1122
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1123
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2517
PyObject *__pyx_r = NULL;
2518
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__self,&__pyx_n_s__s,0};
2519
__Pyx_RefNannySetupContext("__init__");
2520
__pyx_self = __pyx_self;
2521
if (unlikely(__pyx_kwds)) {
2522
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2523
PyObject* values[2] = {0,0};
2524
switch (PyTuple_GET_SIZE(__pyx_args)) {
2525
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
2526
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2528
default: goto __pyx_L5_argtuple_error;
2530
switch (PyTuple_GET_SIZE(__pyx_args)) {
2532
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__self);
2533
if (likely(values[0])) kw_args--;
2534
else goto __pyx_L5_argtuple_error;
2536
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__s);
2537
if (likely(values[1])) kw_args--;
2539
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2542
if (unlikely(kw_args > 0)) {
2543
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2545
__pyx_v_self = values[0];
2546
__pyx_v_s = values[1];
2547
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
2548
goto __pyx_L5_argtuple_error;
2550
__pyx_v_self = PyTuple_GET_ITEM(__pyx_args, 0);
2551
__pyx_v_s = PyTuple_GET_ITEM(__pyx_args, 1);
2553
goto __pyx_L4_argument_unpacking_done;
2554
__pyx_L5_argtuple_error:;
2555
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2557
__Pyx_AddTraceback("bzrlib._bencode_pyx.Bencached.__init__");
2558
__Pyx_RefNannyFinishContext();
2560
__pyx_L4_argument_unpacking_done:;
2562
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":237
2564
* def __init__(self, s):
2565
* self.bencoded = s # <<<<<<<<<<<<<<
2569
if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__bencoded, __pyx_v_s) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2571
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2574
__Pyx_AddTraceback("bzrlib._bencode_pyx.Bencached.__init__");
2577
__Pyx_XGIVEREF(__pyx_r);
2578
__Pyx_RefNannyFinishContext();
2582
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":248
2583
* """Bencode encoder"""
2585
* cdef readonly char *tail # <<<<<<<<<<<<<<
2586
* cdef readonly int size
2587
* cdef readonly char *buffer
2590
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_4tail___get__(PyObject *__pyx_v_self); /*proto*/
2591
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_4tail___get__(PyObject *__pyx_v_self) {
2592
PyObject *__pyx_r = NULL;
2593
PyObject *__pyx_t_1 = NULL;
2594
__Pyx_RefNannySetupContext("__get__");
2595
__Pyx_XDECREF(__pyx_r);
2596
__pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->tail); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2597
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
2598
__pyx_r = ((PyObject *)__pyx_t_1);
2602
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2605
__Pyx_XDECREF(__pyx_t_1);
2606
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.tail.__get__");
2609
__Pyx_XGIVEREF(__pyx_r);
2610
__Pyx_RefNannyFinishContext();
2614
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":249
2616
* cdef readonly char *tail
2617
* cdef readonly int size # <<<<<<<<<<<<<<
2618
* cdef readonly char *buffer
2619
* cdef readonly int maxsize
2622
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_4size___get__(PyObject *__pyx_v_self); /*proto*/
2623
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_4size___get__(PyObject *__pyx_v_self) {
2624
PyObject *__pyx_r = NULL;
2625
PyObject *__pyx_t_1 = NULL;
2626
__Pyx_RefNannySetupContext("__get__");
2627
__Pyx_XDECREF(__pyx_r);
2628
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2629
__Pyx_GOTREF(__pyx_t_1);
2630
__pyx_r = __pyx_t_1;
2634
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2637
__Pyx_XDECREF(__pyx_t_1);
2638
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.size.__get__");
2641
__Pyx_XGIVEREF(__pyx_r);
2642
__Pyx_RefNannyFinishContext();
2646
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":250
2647
* cdef readonly char *tail
2648
* cdef readonly int size
2649
* cdef readonly char *buffer # <<<<<<<<<<<<<<
2650
* cdef readonly int maxsize
2654
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_6buffer___get__(PyObject *__pyx_v_self); /*proto*/
2655
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_6buffer___get__(PyObject *__pyx_v_self) {
2656
PyObject *__pyx_r = NULL;
2657
PyObject *__pyx_t_1 = NULL;
2658
__Pyx_RefNannySetupContext("__get__");
2659
__Pyx_XDECREF(__pyx_r);
2660
__pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2661
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
2662
__pyx_r = ((PyObject *)__pyx_t_1);
2666
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2669
__Pyx_XDECREF(__pyx_t_1);
2670
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.buffer.__get__");
2673
__Pyx_XGIVEREF(__pyx_r);
2674
__Pyx_RefNannyFinishContext();
2678
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":251
2679
* cdef readonly int size
2680
* cdef readonly char *buffer
2681
* cdef readonly int maxsize # <<<<<<<<<<<<<<
2683
* def __init__(self, int maxsize=INITSIZE):
2686
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_7maxsize___get__(PyObject *__pyx_v_self); /*proto*/
2687
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_7maxsize___get__(PyObject *__pyx_v_self) {
2688
PyObject *__pyx_r = NULL;
2689
PyObject *__pyx_t_1 = NULL;
2690
__Pyx_RefNannySetupContext("__get__");
2691
__Pyx_XDECREF(__pyx_r);
2692
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->maxsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2693
__Pyx_GOTREF(__pyx_t_1);
2694
__pyx_r = __pyx_t_1;
2698
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2701
__Pyx_XDECREF(__pyx_t_1);
2702
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.maxsize.__get__");
2705
__Pyx_XGIVEREF(__pyx_r);
2706
__Pyx_RefNannyFinishContext();
2710
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":253
2711
* cdef readonly int maxsize
2713
* def __init__(self, int maxsize=INITSIZE): # <<<<<<<<<<<<<<
2714
* """Initialize encoder engine
2715
* @param maxsize: initial size of internal char buffer
2718
static int __pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2719
static char __pyx_doc_6bzrlib_12_bencode_pyx_7Encoder___init__[] = "Initialize encoder engine\n @param maxsize: initial size of internal char buffer\n ";
2720
struct wrapperbase __pyx_wrapperbase_6bzrlib_12_bencode_pyx_7Encoder___init__;
2721
static int __pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1124
2722
int __pyx_v_maxsize;
1125
2723
char *__pyx_v_p;
1128
PyObject *__pyx_2 = 0;
1129
PyObject *__pyx_3 = 0;
1130
static char *__pyx_argnames[] = {"maxsize",0};
1131
__pyx_v_maxsize = __pyx_d2;
1132
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|i", __pyx_argnames, &__pyx_v_maxsize)) return -1;
1133
Py_INCREF(__pyx_v_self);
2726
PyObject *__pyx_t_2 = NULL;
2727
PyObject *__pyx_t_3 = NULL;
2728
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__maxsize,0};
2729
__Pyx_RefNannySetupContext("__init__");
2730
if (unlikely(__pyx_kwds)) {
2731
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2732
PyObject* values[1] = {0};
2733
switch (PyTuple_GET_SIZE(__pyx_args)) {
2734
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2736
default: goto __pyx_L5_argtuple_error;
2738
switch (PyTuple_GET_SIZE(__pyx_args)) {
2741
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxsize);
2742
if (value) { values[0] = value; kw_args--; }
2745
if (unlikely(kw_args > 0)) {
2746
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2749
__pyx_v_maxsize = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_maxsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2751
__pyx_v_maxsize = __pyx_k_15;
2754
__pyx_v_maxsize = __pyx_k_15;
2755
switch (PyTuple_GET_SIZE(__pyx_args)) {
2756
case 1: __pyx_v_maxsize = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_maxsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2758
default: goto __pyx_L5_argtuple_error;
2761
goto __pyx_L4_argument_unpacking_done;
2762
__pyx_L5_argtuple_error:;
2763
__Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2765
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.__init__");
2766
__Pyx_RefNannyFinishContext();
2768
__pyx_L4_argument_unpacking_done:;
1135
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":259 */
2770
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":259
2773
* self.maxsize = 0 # <<<<<<<<<<<<<<
1136
2777
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->maxsize = 0;
1138
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":260 */
2779
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":260
2782
* self.size = 0 # <<<<<<<<<<<<<<
1139
2786
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size = 0;
1141
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":261 */
2788
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":261
2791
* self.tail = NULL # <<<<<<<<<<<<<<
2793
* p = <char*>malloc(maxsize)
1142
2795
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->tail = NULL;
1144
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":263 */
2797
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":263
2800
* p = <char*>malloc(maxsize) # <<<<<<<<<<<<<<
2802
* raise MemoryError('Not enough memory to allocate buffer '
1145
2804
__pyx_v_p = ((char *)malloc(__pyx_v_maxsize));
1147
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":264 */
1148
__pyx_1 = (__pyx_v_p == NULL);
1150
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L1;}
1151
Py_INCREF(__pyx_k18p);
1152
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k18p);
1153
__pyx_3 = PyObject_CallObject(PyExc_MemoryError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L1;}
1154
Py_DECREF(__pyx_2); __pyx_2 = 0;
1155
__Pyx_Raise(__pyx_3, 0, 0);
1156
Py_DECREF(__pyx_3); __pyx_3 = 0;
1157
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L1;}
2806
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":264
2808
* p = <char*>malloc(maxsize)
2809
* if p == NULL: # <<<<<<<<<<<<<<
2810
* raise MemoryError('Not enough memory to allocate buffer '
2813
__pyx_t_1 = (__pyx_v_p == NULL);
2816
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":265
2817
* p = <char*>malloc(maxsize)
2819
* raise MemoryError('Not enough memory to allocate buffer ' # <<<<<<<<<<<<<<
2823
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2824
__Pyx_GOTREF(__pyx_t_2);
2825
__Pyx_INCREF(((PyObject *)__pyx_kp_s_16));
2826
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_16));
2827
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_16));
2828
__pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2829
__Pyx_GOTREF(__pyx_t_3);
2830
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2831
__Pyx_Raise(__pyx_t_3, 0, 0);
2832
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2833
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1162
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":267 */
2838
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":267
2839
* raise MemoryError('Not enough memory to allocate buffer '
2841
* self.buffer = p # <<<<<<<<<<<<<<
2842
* self.maxsize = maxsize
1163
2845
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer = __pyx_v_p;
1165
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":268 */
2847
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":268
2850
* self.maxsize = maxsize # <<<<<<<<<<<<<<
1166
2854
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->maxsize = __pyx_v_maxsize;
1168
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":269 */
2856
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":269
2858
* self.maxsize = maxsize
2859
* self.tail = p # <<<<<<<<<<<<<<
2861
* def __dealloc__(self):
1169
2863
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->tail = __pyx_v_p;
1174
Py_XDECREF(__pyx_2);
1175
Py_XDECREF(__pyx_3);
2868
__Pyx_XDECREF(__pyx_t_2);
2869
__Pyx_XDECREF(__pyx_t_3);
1176
2870
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.__init__");
1179
Py_DECREF(__pyx_v_self);
2873
__Pyx_RefNannyFinishContext();
1180
2874
return __pyx_r;
1183
static void __pyx_f_6bzrlib_12_bencode_pyx_7Encoder___dealloc__(PyObject *__pyx_v_self); /*proto*/
1184
static void __pyx_f_6bzrlib_12_bencode_pyx_7Encoder___dealloc__(PyObject *__pyx_v_self) {
1185
Py_INCREF(__pyx_v_self);
1187
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":272 */
2877
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":271
2880
* def __dealloc__(self): # <<<<<<<<<<<<<<
2882
* self.buffer = NULL
2885
static void __pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___dealloc__(PyObject *__pyx_v_self); /*proto*/
2886
static void __pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___dealloc__(PyObject *__pyx_v_self) {
2887
__Pyx_RefNannySetupContext("__dealloc__");
2889
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":272
2891
* def __dealloc__(self):
2892
* free(self.buffer) # <<<<<<<<<<<<<<
2893
* self.buffer = NULL
1188
2896
free(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer);
1190
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":273 */
2898
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":273
2899
* def __dealloc__(self):
2901
* self.buffer = NULL # <<<<<<<<<<<<<<
1191
2905
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer = NULL;
1193
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":274 */
2907
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":274
2909
* self.buffer = NULL
2910
* self.maxsize = 0 # <<<<<<<<<<<<<<
2912
* def __str__(self):
1194
2914
((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->maxsize = 0;
1196
Py_DECREF(__pyx_v_self);
2916
__Pyx_RefNannyFinishContext();
1199
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Encoder___str__(PyObject *__pyx_v_self); /*proto*/
1200
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Encoder___str__(PyObject *__pyx_v_self) {
1203
PyObject *__pyx_2 = 0;
1204
Py_INCREF(__pyx_v_self);
1205
__pyx_1 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer != NULL);
1207
__pyx_1 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size != 0);
2919
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":276
2922
* def __str__(self): # <<<<<<<<<<<<<<
2923
* if self.buffer != NULL and self.size != 0:
2924
* return PyString_FromStringAndSize(self.buffer, self.size)
2927
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___str__(PyObject *__pyx_v_self); /*proto*/
2928
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder___str__(PyObject *__pyx_v_self) {
2929
PyObject *__pyx_r = NULL;
2933
PyObject *__pyx_t_4 = NULL;
2934
__Pyx_RefNannySetupContext("__str__");
2936
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":277
2938
* def __str__(self):
2939
* if self.buffer != NULL and self.size != 0: # <<<<<<<<<<<<<<
2940
* return PyString_FromStringAndSize(self.buffer, self.size)
2943
__pyx_t_1 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer != NULL);
2945
__pyx_t_2 = (((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size != 0);
2946
__pyx_t_3 = __pyx_t_2;
2948
__pyx_t_3 = __pyx_t_1;
1210
__pyx_2 = PyString_FromStringAndSize(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer,((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
2952
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":278
2953
* def __str__(self):
2954
* if self.buffer != NULL and self.size != 0:
2955
* return PyString_FromStringAndSize(self.buffer, self.size) # <<<<<<<<<<<<<<
2959
__Pyx_XDECREF(__pyx_r);
2960
__pyx_t_4 = PyString_FromStringAndSize(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->buffer, ((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2961
__Pyx_GOTREF(__pyx_t_4);
2962
__pyx_r = __pyx_t_4;
1217
Py_INCREF(__pyx_k10p);
1218
__pyx_r = __pyx_k10p;
2969
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":280
2970
* return PyString_FromStringAndSize(self.buffer, self.size)
2972
* return '' # <<<<<<<<<<<<<<
2974
* cdef int _ensure_buffer(self, int required) except 0:
2976
__Pyx_XDECREF(__pyx_r);
2977
__Pyx_INCREF(((PyObject *)__pyx_kp_s_9));
2978
__pyx_r = ((PyObject *)__pyx_kp_s_9);
1223
__pyx_r = Py_None; Py_INCREF(Py_None);
2983
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1226
Py_XDECREF(__pyx_2);
2986
__Pyx_XDECREF(__pyx_t_4);
1227
2987
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.__str__");
1230
Py_DECREF(__pyx_v_self);
2990
__Pyx_XGIVEREF(__pyx_r);
2991
__Pyx_RefNannyFinishContext();
1231
2992
return __pyx_r;
1234
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__ensure_buffer(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,int __pyx_v_required) {
2995
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":282
2998
* cdef int _ensure_buffer(self, int required) except 0: # <<<<<<<<<<<<<<
2999
* """Ensure that tail of CharTail buffer has enough size.
3000
* If buffer is not big enough then function try to
3003
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__ensure_buffer(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, int __pyx_v_required) {
1235
3004
char *__pyx_v_new_buffer;
1236
3005
int __pyx_v_new_size;
1239
PyObject *__pyx_2 = 0;
1240
PyObject *__pyx_3 = 0;
1241
Py_INCREF(__pyx_v_self);
1243
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":290 */
1244
__pyx_1 = ((__pyx_v_self->size + __pyx_v_required) < __pyx_v_self->maxsize);
3008
PyObject *__pyx_t_2 = NULL;
3009
PyObject *__pyx_t_3 = NULL;
3010
__Pyx_RefNannySetupContext("_ensure_buffer");
3012
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":290
3015
* if self.size + required < self.maxsize: # <<<<<<<<<<<<<<
3019
__pyx_t_1 = ((__pyx_v_self->size + __pyx_v_required) < __pyx_v_self->maxsize);
3022
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":291
3024
* if self.size + required < self.maxsize:
3025
* return 1 # <<<<<<<<<<<<<<
3027
* new_size = self.maxsize
1252
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":293 */
3035
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":293
3038
* new_size = self.maxsize # <<<<<<<<<<<<<<
3039
* while new_size < self.size + required:
3040
* new_size = new_size * 2
1253
3042
__pyx_v_new_size = __pyx_v_self->maxsize;
1255
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":294 */
3044
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":294
3046
* new_size = self.maxsize
3047
* while new_size < self.size + required: # <<<<<<<<<<<<<<
3048
* new_size = new_size * 2
3049
* new_buffer = <char*>realloc(self.buffer, <size_t>new_size)
1257
__pyx_1 = (__pyx_v_new_size < (__pyx_v_self->size + __pyx_v_required));
1258
if (!__pyx_1) break;
3052
__pyx_t_1 = (__pyx_v_new_size < (__pyx_v_self->size + __pyx_v_required));
3053
if (!__pyx_t_1) break;
3055
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":295
3056
* new_size = self.maxsize
3057
* while new_size < self.size + required:
3058
* new_size = new_size * 2 # <<<<<<<<<<<<<<
3059
* new_buffer = <char*>realloc(self.buffer, <size_t>new_size)
3060
* if new_buffer == NULL:
1259
3062
__pyx_v_new_size = (__pyx_v_new_size * 2);
1262
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":296 */
1263
__pyx_v_new_buffer = ((char *)realloc(__pyx_v_self->buffer,__pyx_v_new_size));
1265
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":297 */
1266
__pyx_1 = (__pyx_v_new_buffer == NULL);
1268
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L1;}
1269
Py_INCREF(__pyx_k19p);
1270
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k19p);
1271
__pyx_3 = PyObject_CallObject(PyExc_MemoryError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L1;}
1272
Py_DECREF(__pyx_2); __pyx_2 = 0;
1273
__Pyx_Raise(__pyx_3, 0, 0);
1274
Py_DECREF(__pyx_3); __pyx_3 = 0;
1275
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L1;}
3065
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":296
3066
* while new_size < self.size + required:
3067
* new_size = new_size * 2
3068
* new_buffer = <char*>realloc(self.buffer, <size_t>new_size) # <<<<<<<<<<<<<<
3069
* if new_buffer == NULL:
3070
* raise MemoryError('Cannot realloc buffer for encoder')
3072
__pyx_v_new_buffer = ((char *)realloc(__pyx_v_self->buffer, ((size_t)__pyx_v_new_size)));
3074
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":297
3075
* new_size = new_size * 2
3076
* new_buffer = <char*>realloc(self.buffer, <size_t>new_size)
3077
* if new_buffer == NULL: # <<<<<<<<<<<<<<
3078
* raise MemoryError('Cannot realloc buffer for encoder')
3081
__pyx_t_1 = (__pyx_v_new_buffer == NULL);
3084
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":298
3085
* new_buffer = <char*>realloc(self.buffer, <size_t>new_size)
3086
* if new_buffer == NULL:
3087
* raise MemoryError('Cannot realloc buffer for encoder') # <<<<<<<<<<<<<<
3089
* self.buffer = new_buffer
3091
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3092
__Pyx_GOTREF(__pyx_t_2);
3093
__Pyx_INCREF(((PyObject *)__pyx_kp_s_17));
3094
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_17));
3095
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_17));
3096
__pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3097
__Pyx_GOTREF(__pyx_t_3);
3098
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3099
__Pyx_Raise(__pyx_t_3, 0, 0);
3100
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3101
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1280
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":300 */
3106
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":300
3107
* raise MemoryError('Cannot realloc buffer for encoder')
3109
* self.buffer = new_buffer # <<<<<<<<<<<<<<
3110
* self.maxsize = new_size
3111
* self.tail = &new_buffer[self.size]
1281
3113
__pyx_v_self->buffer = __pyx_v_new_buffer;
1283
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":301 */
3115
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":301
3117
* self.buffer = new_buffer
3118
* self.maxsize = new_size # <<<<<<<<<<<<<<
3119
* self.tail = &new_buffer[self.size]
1284
3122
__pyx_v_self->maxsize = __pyx_v_new_size;
1286
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":302 */
3124
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":302
3125
* self.buffer = new_buffer
3126
* self.maxsize = new_size
3127
* self.tail = &new_buffer[self.size] # <<<<<<<<<<<<<<
1287
3131
__pyx_v_self->tail = (&(__pyx_v_new_buffer[__pyx_v_self->size]));
1289
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":303 */
3133
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":303
3134
* self.maxsize = new_size
3135
* self.tail = &new_buffer[self.size]
3136
* return 1 # <<<<<<<<<<<<<<
3138
* cdef int _encode_int(self, int x) except 0:
1296
Py_XDECREF(__pyx_2);
1297
Py_XDECREF(__pyx_3);
3146
__Pyx_XDECREF(__pyx_t_2);
3147
__Pyx_XDECREF(__pyx_t_3);
1298
3148
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._ensure_buffer");
1301
Py_DECREF(__pyx_v_self);
3151
__Pyx_RefNannyFinishContext();
1302
3152
return __pyx_r;
1305
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_int(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,int __pyx_v_x) {
3155
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":305
3158
* cdef int _encode_int(self, int x) except 0: # <<<<<<<<<<<<<<
3159
* """Encode int to bencode string iNNNe
3160
* @param x: value to encode
3163
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_int(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, int __pyx_v_x) {
1309
PyObject *__pyx_2 = 0;
1310
PyObject *__pyx_3 = 0;
1311
Py_INCREF(__pyx_v_self);
1313
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":310 */
1314
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,__pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L1;}
1316
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":311 */
1317
__pyx_v_n = snprintf(__pyx_v_self->tail,__pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE,__pyx_k20,__pyx_v_x);
1319
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":312 */
1320
__pyx_1 = (__pyx_v_n < 0);
1322
__pyx_2 = PyInt_FromLong(__pyx_v_x); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
1323
__pyx_3 = PyNumber_Remainder(__pyx_k21p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
1324
Py_DECREF(__pyx_2); __pyx_2 = 0;
1325
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
1326
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
1328
__pyx_3 = PyObject_CallObject(PyExc_MemoryError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
1329
Py_DECREF(__pyx_2); __pyx_2 = 0;
1330
__Pyx_Raise(__pyx_3, 0, 0);
1331
Py_DECREF(__pyx_3); __pyx_3 = 0;
1332
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
3168
PyObject *__pyx_t_3 = NULL;
3169
PyObject *__pyx_t_4 = NULL;
3170
__Pyx_RefNannySetupContext("_encode_int");
3172
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":310
3175
* self._ensure_buffer(INT_BUF_SIZE) # <<<<<<<<<<<<<<
3176
* n = snprintf(self.tail, INT_BUF_SIZE, "i%de", x)
3179
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, __pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3181
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":311
3183
* self._ensure_buffer(INT_BUF_SIZE)
3184
* n = snprintf(self.tail, INT_BUF_SIZE, "i%de", x) # <<<<<<<<<<<<<<
3186
* raise MemoryError('int %d too big to encode' % x)
3188
__pyx_v_n = snprintf(__pyx_v_self->tail, __pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE, __pyx_k_18, __pyx_v_x);
3190
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":312
3191
* self._ensure_buffer(INT_BUF_SIZE)
3192
* n = snprintf(self.tail, INT_BUF_SIZE, "i%de", x)
3193
* if n < 0: # <<<<<<<<<<<<<<
3194
* raise MemoryError('int %d too big to encode' % x)
3195
* E_UPDATE_TAIL(self, n)
3197
__pyx_t_2 = (__pyx_v_n < 0);
3200
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":313
3201
* n = snprintf(self.tail, INT_BUF_SIZE, "i%de", x)
3203
* raise MemoryError('int %d too big to encode' % x) # <<<<<<<<<<<<<<
3204
* E_UPDATE_TAIL(self, n)
3207
__pyx_t_3 = PyInt_FromLong(__pyx_v_x); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3208
__Pyx_GOTREF(__pyx_t_3);
3209
__pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_19), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3210
__Pyx_GOTREF(((PyObject *)__pyx_t_4));
3211
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3212
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3213
__Pyx_GOTREF(__pyx_t_3);
3214
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
3215
__Pyx_GIVEREF(((PyObject *)__pyx_t_4));
3217
__pyx_t_4 = PyObject_Call(__pyx_builtin_MemoryError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3218
__Pyx_GOTREF(__pyx_t_4);
3219
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3220
__Pyx_Raise(__pyx_t_4, 0, 0);
3221
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3222
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1337
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":314 */
1338
E_UPDATE_TAIL(__pyx_v_self,__pyx_v_n);
1340
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":315 */
3227
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":314
3229
* raise MemoryError('int %d too big to encode' % x)
3230
* E_UPDATE_TAIL(self, n) # <<<<<<<<<<<<<<
3234
E_UPDATE_TAIL(__pyx_v_self, __pyx_v_n);
3236
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":315
3237
* raise MemoryError('int %d too big to encode' % x)
3238
* E_UPDATE_TAIL(self, n)
3239
* return 1 # <<<<<<<<<<<<<<
3241
* cdef int _encode_long(self, x) except 0:
1347
Py_XDECREF(__pyx_2);
1348
Py_XDECREF(__pyx_3);
3249
__Pyx_XDECREF(__pyx_t_3);
3250
__Pyx_XDECREF(__pyx_t_4);
1349
3251
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._encode_int");
1352
Py_DECREF(__pyx_v_self);
3254
__Pyx_RefNannyFinishContext();
1353
3255
return __pyx_r;
1356
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_long(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,PyObject *__pyx_v_x) {
3258
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":317
3261
* cdef int _encode_long(self, x) except 0: # <<<<<<<<<<<<<<
3262
* return self._append_string(''.join(('i', str(x), 'e')))
3266
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_long(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, PyObject *__pyx_v_x) {
1358
PyObject *__pyx_1 = 0;
1359
PyObject *__pyx_2 = 0;
1360
PyObject *__pyx_3 = 0;
1362
Py_INCREF(__pyx_v_self);
1363
Py_INCREF(__pyx_v_x);
1364
__pyx_1 = PyObject_GetAttr(__pyx_k10p, __pyx_n_join); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1365
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1366
Py_INCREF(__pyx_v_x);
1367
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_x);
1368
__pyx_3 = PyObject_CallObject(((PyObject *)(&PyString_Type)), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1369
Py_DECREF(__pyx_2); __pyx_2 = 0;
1370
__pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1371
Py_INCREF(__pyx_n_i);
1372
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_i);
1373
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
1374
Py_INCREF(__pyx_n_e);
1375
PyTuple_SET_ITEM(__pyx_2, 2, __pyx_n_e);
1377
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1378
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
1380
__pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1381
Py_DECREF(__pyx_1); __pyx_1 = 0;
1382
Py_DECREF(__pyx_3); __pyx_3 = 0;
1383
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_append_string(__pyx_v_self,__pyx_2); if (__pyx_4 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L1;}
1384
Py_DECREF(__pyx_2); __pyx_2 = 0;
3268
PyObject *__pyx_t_1 = NULL;
3269
PyObject *__pyx_t_2 = NULL;
3270
PyObject *__pyx_t_3 = NULL;
3272
__Pyx_RefNannySetupContext("_encode_long");
3274
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":318
3276
* cdef int _encode_long(self, x) except 0:
3277
* return self._append_string(''.join(('i', str(x), 'e'))) # <<<<<<<<<<<<<<
3279
* cdef int _append_string(self, s) except 0:
3281
__pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_9), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3282
__Pyx_GOTREF(__pyx_t_1);
3283
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3284
__Pyx_GOTREF(__pyx_t_2);
3285
__Pyx_INCREF(__pyx_v_x);
3286
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_x);
3287
__Pyx_GIVEREF(__pyx_v_x);
3288
__pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3289
__Pyx_GOTREF(__pyx_t_3);
3290
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3291
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3292
__Pyx_GOTREF(__pyx_t_2);
3293
__Pyx_INCREF(((PyObject *)__pyx_n_s__i));
3294
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_n_s__i));
3295
__Pyx_GIVEREF(((PyObject *)__pyx_n_s__i));
3296
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
3297
__Pyx_GIVEREF(__pyx_t_3);
3298
__Pyx_INCREF(((PyObject *)__pyx_n_s__e));
3299
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_n_s__e));
3300
__Pyx_GIVEREF(((PyObject *)__pyx_n_s__e));
3302
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3303
__Pyx_GOTREF(__pyx_t_3);
3304
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
3305
__Pyx_GIVEREF(__pyx_t_2);
3307
__pyx_t_2 = PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3308
__Pyx_GOTREF(__pyx_t_2);
3309
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3310
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3311
__pyx_t_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_append_string(__pyx_v_self, __pyx_t_2); if (unlikely(__pyx_t_4 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3312
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3313
__pyx_r = __pyx_t_4;
1391
Py_XDECREF(__pyx_1);
1392
Py_XDECREF(__pyx_2);
1393
Py_XDECREF(__pyx_3);
3319
__Pyx_XDECREF(__pyx_t_1);
3320
__Pyx_XDECREF(__pyx_t_2);
3321
__Pyx_XDECREF(__pyx_t_3);
1394
3322
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._encode_long");
1397
Py_DECREF(__pyx_v_self);
1398
Py_DECREF(__pyx_v_x);
3325
__Pyx_RefNannyFinishContext();
1399
3326
return __pyx_r;
1402
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__append_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,PyObject *__pyx_v_s) {
3329
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":320
3330
* return self._append_string(''.join(('i', str(x), 'e')))
3332
* cdef int _append_string(self, s) except 0: # <<<<<<<<<<<<<<
3334
* n = PyString_GET_SIZE(s)
3337
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__append_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, PyObject *__pyx_v_s) {
1403
3338
Py_ssize_t __pyx_v_n;
1408
Py_INCREF(__pyx_v_self);
1409
Py_INCREF(__pyx_v_s);
1411
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":322 */
1412
__pyx_1 = PyString_GET_SIZE(__pyx_v_s); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; goto __pyx_L1;}
1413
__pyx_v_n = __pyx_1;
1415
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":323 */
1416
__pyx_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,__pyx_v_n); if (__pyx_2 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; goto __pyx_L1;}
1418
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":324 */
1419
__pyx_3 = PyString_AS_STRING(__pyx_v_s); if (__pyx_3 == NULL) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; goto __pyx_L1;}
1420
memcpy(__pyx_v_self->tail,__pyx_3,__pyx_v_n);
1422
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":325 */
1423
E_UPDATE_TAIL(__pyx_v_self,__pyx_v_n);
1425
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":326 */
3340
Py_ssize_t __pyx_t_1;
3343
__Pyx_RefNannySetupContext("_append_string");
3345
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":322
3346
* cdef int _append_string(self, s) except 0:
3348
* n = PyString_GET_SIZE(s) # <<<<<<<<<<<<<<
3349
* self._ensure_buffer(n)
3350
* memcpy(self.tail, PyString_AS_STRING(s), n)
3352
__pyx_t_1 = PyString_GET_SIZE(__pyx_v_s); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3353
__pyx_v_n = __pyx_t_1;
3355
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":323
3357
* n = PyString_GET_SIZE(s)
3358
* self._ensure_buffer(n) # <<<<<<<<<<<<<<
3359
* memcpy(self.tail, PyString_AS_STRING(s), n)
3360
* E_UPDATE_TAIL(self, n)
3362
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, __pyx_v_n); if (unlikely(__pyx_t_2 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3364
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":324
3365
* n = PyString_GET_SIZE(s)
3366
* self._ensure_buffer(n)
3367
* memcpy(self.tail, PyString_AS_STRING(s), n) # <<<<<<<<<<<<<<
3368
* E_UPDATE_TAIL(self, n)
3371
__pyx_t_3 = PyString_AS_STRING(__pyx_v_s); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3372
memcpy(__pyx_v_self->tail, __pyx_t_3, __pyx_v_n);
3374
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":325
3375
* self._ensure_buffer(n)
3376
* memcpy(self.tail, PyString_AS_STRING(s), n)
3377
* E_UPDATE_TAIL(self, n) # <<<<<<<<<<<<<<
3381
E_UPDATE_TAIL(__pyx_v_self, __pyx_v_n);
3383
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":326
3384
* memcpy(self.tail, PyString_AS_STRING(s), n)
3385
* E_UPDATE_TAIL(self, n)
3386
* return 1 # <<<<<<<<<<<<<<
3388
* cdef int _encode_string(self, x) except 0:
1432
3396
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._append_string");
1435
Py_DECREF(__pyx_v_self);
1436
Py_DECREF(__pyx_v_s);
3399
__Pyx_RefNannyFinishContext();
1437
3400
return __pyx_r;
1440
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,PyObject *__pyx_v_x) {
3403
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":328
3406
* cdef int _encode_string(self, x) except 0: # <<<<<<<<<<<<<<
3408
* cdef Py_ssize_t x_len
3411
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_string(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, PyObject *__pyx_v_x) {
1442
3413
Py_ssize_t __pyx_v_x_len;
1446
PyObject *__pyx_3 = 0;
1447
PyObject *__pyx_4 = 0;
1449
Py_INCREF(__pyx_v_self);
1450
Py_INCREF(__pyx_v_x);
1452
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":331 */
1453
__pyx_1 = PyString_GET_SIZE(__pyx_v_x); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; goto __pyx_L1;}
1454
__pyx_v_x_len = __pyx_1;
1456
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":332 */
1457
__pyx_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,(__pyx_v_x_len + __pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE)); if (__pyx_2 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; goto __pyx_L1;}
1459
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":333 */
1460
__pyx_v_n = snprintf(__pyx_v_self->tail,__pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE,__pyx_k25,__pyx_v_x_len);
1462
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":334 */
1463
__pyx_2 = (__pyx_v_n < 0);
1465
__pyx_3 = PyNumber_Remainder(__pyx_k26p, __pyx_v_x); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; goto __pyx_L1;}
1466
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; goto __pyx_L1;}
1467
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
1469
__pyx_3 = PyObject_CallObject(PyExc_MemoryError, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; goto __pyx_L1;}
1470
Py_DECREF(__pyx_4); __pyx_4 = 0;
1471
__Pyx_Raise(__pyx_3, 0, 0);
1472
Py_DECREF(__pyx_3); __pyx_3 = 0;
1473
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; goto __pyx_L1;}
3415
Py_ssize_t __pyx_t_1;
3418
PyObject *__pyx_t_4 = NULL;
3419
PyObject *__pyx_t_5 = NULL;
3421
__Pyx_RefNannySetupContext("_encode_string");
3423
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":331
3425
* cdef Py_ssize_t x_len
3426
* x_len = PyString_GET_SIZE(x) # <<<<<<<<<<<<<<
3427
* self._ensure_buffer(x_len + INT_BUF_SIZE)
3428
* n = snprintf(self.tail, INT_BUF_SIZE, '%d:', x_len)
3430
__pyx_t_1 = PyString_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3431
__pyx_v_x_len = __pyx_t_1;
3433
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":332
3434
* cdef Py_ssize_t x_len
3435
* x_len = PyString_GET_SIZE(x)
3436
* self._ensure_buffer(x_len + INT_BUF_SIZE) # <<<<<<<<<<<<<<
3437
* n = snprintf(self.tail, INT_BUF_SIZE, '%d:', x_len)
3440
__pyx_t_2 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, (__pyx_v_x_len + __pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE)); if (unlikely(__pyx_t_2 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3442
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":333
3443
* x_len = PyString_GET_SIZE(x)
3444
* self._ensure_buffer(x_len + INT_BUF_SIZE)
3445
* n = snprintf(self.tail, INT_BUF_SIZE, '%d:', x_len) # <<<<<<<<<<<<<<
3447
* raise MemoryError('string %s too big to encode' % x)
3449
__pyx_v_n = snprintf(__pyx_v_self->tail, __pyx_e_6bzrlib_12_bencode_pyx_INT_BUF_SIZE, __pyx_k_20, __pyx_v_x_len);
3451
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":334
3452
* self._ensure_buffer(x_len + INT_BUF_SIZE)
3453
* n = snprintf(self.tail, INT_BUF_SIZE, '%d:', x_len)
3454
* if n < 0: # <<<<<<<<<<<<<<
3455
* raise MemoryError('string %s too big to encode' % x)
3456
* memcpy(<void *>(self.tail+n), PyString_AS_STRING(x), x_len)
3458
__pyx_t_3 = (__pyx_v_n < 0);
3461
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":335
3462
* n = snprintf(self.tail, INT_BUF_SIZE, '%d:', x_len)
3464
* raise MemoryError('string %s too big to encode' % x) # <<<<<<<<<<<<<<
3465
* memcpy(<void *>(self.tail+n), PyString_AS_STRING(x), x_len)
3466
* E_UPDATE_TAIL(self, n + x_len)
3468
__pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_21), __pyx_v_x); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3469
__Pyx_GOTREF(((PyObject *)__pyx_t_4));
3470
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3471
__Pyx_GOTREF(__pyx_t_5);
3472
PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
3473
__Pyx_GIVEREF(((PyObject *)__pyx_t_4));
3475
__pyx_t_4 = PyObject_Call(__pyx_builtin_MemoryError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3476
__Pyx_GOTREF(__pyx_t_4);
3477
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3478
__Pyx_Raise(__pyx_t_4, 0, 0);
3479
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3480
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1478
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":336 */
1479
__pyx_5 = PyString_AS_STRING(__pyx_v_x); if (__pyx_5 == NULL) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
1480
memcpy((__pyx_v_self->tail + __pyx_v_n),__pyx_5,__pyx_v_x_len);
1482
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":337 */
1483
E_UPDATE_TAIL(__pyx_v_self,(__pyx_v_n + __pyx_v_x_len));
1485
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":338 */
3485
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":336
3487
* raise MemoryError('string %s too big to encode' % x)
3488
* memcpy(<void *>(self.tail+n), PyString_AS_STRING(x), x_len) # <<<<<<<<<<<<<<
3489
* E_UPDATE_TAIL(self, n + x_len)
3492
__pyx_t_6 = PyString_AS_STRING(__pyx_v_x); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3493
memcpy(((void *)(__pyx_v_self->tail + __pyx_v_n)), __pyx_t_6, __pyx_v_x_len);
3495
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":337
3496
* raise MemoryError('string %s too big to encode' % x)
3497
* memcpy(<void *>(self.tail+n), PyString_AS_STRING(x), x_len)
3498
* E_UPDATE_TAIL(self, n + x_len) # <<<<<<<<<<<<<<
3502
E_UPDATE_TAIL(__pyx_v_self, (__pyx_v_n + __pyx_v_x_len));
3504
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":338
3505
* memcpy(<void *>(self.tail+n), PyString_AS_STRING(x), x_len)
3506
* E_UPDATE_TAIL(self, n + x_len)
3507
* return 1 # <<<<<<<<<<<<<<
3509
* cdef int _encode_list(self, x) except 0:
1492
Py_XDECREF(__pyx_3);
1493
Py_XDECREF(__pyx_4);
3517
__Pyx_XDECREF(__pyx_t_4);
3518
__Pyx_XDECREF(__pyx_t_5);
1494
3519
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._encode_string");
1497
Py_DECREF(__pyx_v_self);
1498
Py_DECREF(__pyx_v_x);
3522
__Pyx_RefNannyFinishContext();
1499
3523
return __pyx_r;
1502
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_list(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,PyObject *__pyx_v_x) {
3526
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":340
3529
* cdef int _encode_list(self, x) except 0: # <<<<<<<<<<<<<<
3530
* self._ensure_buffer(1)
3531
* self.tail[0] = c'l'
3534
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_list(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, PyObject *__pyx_v_x) {
1503
3535
PyObject *__pyx_v_i;
1506
PyObject *__pyx_2 = 0;
1507
PyObject *__pyx_3 = 0;
1508
PyObject *__pyx_4 = 0;
1509
PyObject *__pyx_5 = 0;
1510
Py_INCREF(__pyx_v_self);
1511
Py_INCREF(__pyx_v_x);
1512
__pyx_v_i = Py_None; Py_INCREF(Py_None);
1514
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":341 */
1515
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,1); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; goto __pyx_L1;}
1517
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":342 */
3538
Py_ssize_t __pyx_t_2;
3539
PyObject *__pyx_t_3 = NULL;
3540
PyObject *__pyx_t_4 = NULL;
3541
PyObject *__pyx_t_5 = NULL;
3542
PyObject *__pyx_t_6 = NULL;
3543
__Pyx_RefNannySetupContext("_encode_list");
3544
__pyx_v_i = Py_None; __Pyx_INCREF(Py_None);
3546
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":341
3548
* cdef int _encode_list(self, x) except 0:
3549
* self._ensure_buffer(1) # <<<<<<<<<<<<<<
3550
* self.tail[0] = c'l'
3551
* E_UPDATE_TAIL(self, 1)
3553
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, 1); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3555
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":342
3556
* cdef int _encode_list(self, x) except 0:
3557
* self._ensure_buffer(1)
3558
* self.tail[0] = c'l' # <<<<<<<<<<<<<<
3559
* E_UPDATE_TAIL(self, 1)
1518
3562
(__pyx_v_self->tail[0]) = 'l';
1520
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":343 */
1521
E_UPDATE_TAIL(__pyx_v_self,1);
3564
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":343
3565
* self._ensure_buffer(1)
3566
* self.tail[0] = c'l'
3567
* E_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
3571
E_UPDATE_TAIL(__pyx_v_self, 1);
1523
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":345 */
1524
__pyx_2 = PyObject_GetIter(__pyx_v_x); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; goto __pyx_L1;}
3573
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":345
3574
* E_UPDATE_TAIL(self, 1)
3576
* for i in x: # <<<<<<<<<<<<<<
3580
if (PyList_CheckExact(__pyx_v_x) || PyTuple_CheckExact(__pyx_v_x)) {
3581
__pyx_t_2 = 0; __pyx_t_3 = __pyx_v_x; __Pyx_INCREF(__pyx_t_3);
3583
__pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3584
__Pyx_GOTREF(__pyx_t_3);
1526
__pyx_3 = PyIter_Next(__pyx_2);
1528
if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; goto __pyx_L1;}
3587
if (likely(PyList_CheckExact(__pyx_t_3))) {
3588
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break;
3589
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
3590
} else if (likely(PyTuple_CheckExact(__pyx_t_3))) {
3591
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
3592
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
3594
__pyx_t_4 = PyIter_Next(__pyx_t_3);
3596
if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3599
__Pyx_GOTREF(__pyx_t_4);
1531
Py_DECREF(__pyx_v_i);
1532
__pyx_v_i = __pyx_3;
1534
__pyx_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_process); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; goto __pyx_L1;}
1535
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; goto __pyx_L1;}
1536
Py_INCREF(__pyx_v_i);
1537
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_i);
1538
__pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; goto __pyx_L1;}
1539
Py_DECREF(__pyx_3); __pyx_3 = 0;
1540
Py_DECREF(__pyx_4); __pyx_4 = 0;
1541
Py_DECREF(__pyx_5); __pyx_5 = 0;
3601
__Pyx_DECREF(__pyx_v_i);
3602
__pyx_v_i = __pyx_t_4;
3605
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":346
3608
* self.process(i) # <<<<<<<<<<<<<<
3610
* self._ensure_buffer(1)
3612
__pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__process); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3613
__Pyx_GOTREF(__pyx_t_4);
3614
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3615
__Pyx_GOTREF(__pyx_t_5);
3616
__Pyx_INCREF(__pyx_v_i);
3617
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_i);
3618
__Pyx_GIVEREF(__pyx_v_i);
3619
__pyx_t_6 = PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3620
__Pyx_GOTREF(__pyx_t_6);
3621
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3622
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3623
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1543
Py_DECREF(__pyx_2); __pyx_2 = 0;
1545
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":348 */
1546
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,1); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; goto __pyx_L1;}
1548
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":349 */
3625
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3627
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":348
3630
* self._ensure_buffer(1) # <<<<<<<<<<<<<<
3631
* self.tail[0] = c'e'
3632
* E_UPDATE_TAIL(self, 1)
3634
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, 1); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3636
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":349
3638
* self._ensure_buffer(1)
3639
* self.tail[0] = c'e' # <<<<<<<<<<<<<<
3640
* E_UPDATE_TAIL(self, 1)
1549
3643
(__pyx_v_self->tail[0]) = 'e';
1551
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":350 */
1552
E_UPDATE_TAIL(__pyx_v_self,1);
3645
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":350
3646
* self._ensure_buffer(1)
3647
* self.tail[0] = c'e'
3648
* E_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
3652
E_UPDATE_TAIL(__pyx_v_self, 1);
1554
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":351 */
3654
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":351
3655
* self.tail[0] = c'e'
3656
* E_UPDATE_TAIL(self, 1)
3657
* return 1 # <<<<<<<<<<<<<<
3659
* cdef int _encode_dict(self, x) except 0:
1561
Py_XDECREF(__pyx_2);
1562
Py_XDECREF(__pyx_3);
1563
Py_XDECREF(__pyx_4);
1564
Py_XDECREF(__pyx_5);
3667
__Pyx_XDECREF(__pyx_t_3);
3668
__Pyx_XDECREF(__pyx_t_4);
3669
__Pyx_XDECREF(__pyx_t_5);
3670
__Pyx_XDECREF(__pyx_t_6);
1565
3671
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._encode_list");
1568
Py_DECREF(__pyx_v_i);
1569
Py_DECREF(__pyx_v_self);
1570
Py_DECREF(__pyx_v_x);
3674
__Pyx_DECREF(__pyx_v_i);
3675
__Pyx_RefNannyFinishContext();
1571
3676
return __pyx_r;
1574
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_dict(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self,PyObject *__pyx_v_x) {
3679
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":353
3682
* cdef int _encode_dict(self, x) except 0: # <<<<<<<<<<<<<<
3683
* self._ensure_buffer(1)
3684
* self.tail[0] = c'd'
3687
static int __pyx_f_6bzrlib_12_bencode_pyx_7Encoder__encode_dict(struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_self, PyObject *__pyx_v_x) {
1575
3688
PyObject *__pyx_v_keys;
1576
3689
PyObject *__pyx_v_k;
1579
PyObject *__pyx_2 = 0;
1580
PyObject *__pyx_3 = 0;
1581
PyObject *__pyx_4 = 0;
1582
PyObject *__pyx_5 = 0;
1583
Py_INCREF(__pyx_v_self);
1584
Py_INCREF(__pyx_v_x);
1585
__pyx_v_keys = Py_None; Py_INCREF(Py_None);
1586
__pyx_v_k = Py_None; Py_INCREF(Py_None);
1588
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":354 */
1589
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,1); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; goto __pyx_L1;}
1591
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":355 */
3692
PyObject *__pyx_t_2 = NULL;
3693
PyObject *__pyx_t_3 = NULL;
3694
Py_ssize_t __pyx_t_4;
3696
PyObject *__pyx_t_6 = NULL;
3697
PyObject *__pyx_t_7 = NULL;
3698
__Pyx_RefNannySetupContext("_encode_dict");
3699
__pyx_v_keys = Py_None; __Pyx_INCREF(Py_None);
3700
__pyx_v_k = Py_None; __Pyx_INCREF(Py_None);
3702
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":354
3704
* cdef int _encode_dict(self, x) except 0:
3705
* self._ensure_buffer(1) # <<<<<<<<<<<<<<
3706
* self.tail[0] = c'd'
3707
* E_UPDATE_TAIL(self, 1)
3709
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, 1); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3711
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":355
3712
* cdef int _encode_dict(self, x) except 0:
3713
* self._ensure_buffer(1)
3714
* self.tail[0] = c'd' # <<<<<<<<<<<<<<
3715
* E_UPDATE_TAIL(self, 1)
1592
3718
(__pyx_v_self->tail[0]) = 'd';
1594
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":356 */
1595
E_UPDATE_TAIL(__pyx_v_self,1);
1597
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":358 */
1598
__pyx_2 = PyObject_GetAttr(__pyx_v_x, __pyx_n_keys); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; goto __pyx_L1;}
1599
__pyx_3 = PyObject_CallObject(__pyx_2, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; goto __pyx_L1;}
1600
Py_DECREF(__pyx_2); __pyx_2 = 0;
1601
Py_DECREF(__pyx_v_keys);
1602
__pyx_v_keys = __pyx_3;
1605
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":359 */
1606
__pyx_2 = PyObject_GetAttr(__pyx_v_keys, __pyx_n_sort); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L1;}
1607
__pyx_3 = PyObject_CallObject(__pyx_2, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L1;}
1608
Py_DECREF(__pyx_2); __pyx_2 = 0;
1609
Py_DECREF(__pyx_3); __pyx_3 = 0;
1611
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":360 */
1612
__pyx_2 = PyObject_GetIter(__pyx_v_keys); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; goto __pyx_L1;}
3720
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":356
3721
* self._ensure_buffer(1)
3722
* self.tail[0] = c'd'
3723
* E_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
3727
E_UPDATE_TAIL(__pyx_v_self, 1);
3729
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":358
3730
* E_UPDATE_TAIL(self, 1)
3732
* keys = x.keys() # <<<<<<<<<<<<<<
3736
__pyx_t_2 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__keys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3737
__Pyx_GOTREF(__pyx_t_2);
3738
__pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3739
__Pyx_GOTREF(__pyx_t_3);
3740
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3741
__Pyx_DECREF(__pyx_v_keys);
3742
__pyx_v_keys = __pyx_t_3;
3745
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":359
3748
* keys.sort() # <<<<<<<<<<<<<<
3750
* if not PyString_CheckExact(k):
3752
__pyx_t_3 = PyObject_GetAttr(__pyx_v_keys, __pyx_n_s__sort); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3753
__Pyx_GOTREF(__pyx_t_3);
3754
__pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3755
__Pyx_GOTREF(__pyx_t_2);
3756
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3757
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3759
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":360
3762
* for k in keys: # <<<<<<<<<<<<<<
3763
* if not PyString_CheckExact(k):
3764
* raise TypeError('key in dict should be string')
3766
if (PyList_CheckExact(__pyx_v_keys) || PyTuple_CheckExact(__pyx_v_keys)) {
3767
__pyx_t_4 = 0; __pyx_t_2 = __pyx_v_keys; __Pyx_INCREF(__pyx_t_2);
3769
__pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_keys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3770
__Pyx_GOTREF(__pyx_t_2);
1614
__pyx_3 = PyIter_Next(__pyx_2);
1616
if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; goto __pyx_L1;}
1619
Py_DECREF(__pyx_v_k);
1620
__pyx_v_k = __pyx_3;
1623
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":361 */
1624
__pyx_1 = (!PyString_CheckExact(__pyx_v_k));
1626
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; goto __pyx_L1;}
1627
Py_INCREF(__pyx_k30p);
1628
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k30p);
1629
__pyx_4 = PyObject_CallObject(PyExc_TypeError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; goto __pyx_L1;}
1630
Py_DECREF(__pyx_3); __pyx_3 = 0;
1631
__Pyx_Raise(__pyx_4, 0, 0);
1632
Py_DECREF(__pyx_4); __pyx_4 = 0;
1633
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; goto __pyx_L1;}
1638
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":363 */
1639
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_encode_string(__pyx_v_self,__pyx_v_k); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; goto __pyx_L1;}
1641
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":364 */
1642
__pyx_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_process); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; goto __pyx_L1;}
1643
__pyx_4 = PyObject_GetItem(__pyx_v_x, __pyx_v_k); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; goto __pyx_L1;}
1644
__pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; goto __pyx_L1;}
1645
PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
1647
__pyx_4 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; goto __pyx_L1;}
1648
Py_DECREF(__pyx_3); __pyx_3 = 0;
1649
Py_DECREF(__pyx_5); __pyx_5 = 0;
1650
Py_DECREF(__pyx_4); __pyx_4 = 0;
3773
if (likely(PyList_CheckExact(__pyx_t_2))) {
3774
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
3775
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++;
3776
} else if (likely(PyTuple_CheckExact(__pyx_t_2))) {
3777
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
3778
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++;
3780
__pyx_t_3 = PyIter_Next(__pyx_t_2);
3782
if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3785
__Pyx_GOTREF(__pyx_t_3);
3787
__Pyx_DECREF(__pyx_v_k);
3788
__pyx_v_k = __pyx_t_3;
3791
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":361
3794
* if not PyString_CheckExact(k): # <<<<<<<<<<<<<<
3795
* raise TypeError('key in dict should be string')
3796
* self._encode_string(k)
3798
__pyx_t_5 = (!PyString_CheckExact(__pyx_v_k));
3801
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":362
3803
* if not PyString_CheckExact(k):
3804
* raise TypeError('key in dict should be string') # <<<<<<<<<<<<<<
3805
* self._encode_string(k)
3806
* self.process(x[k])
3808
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3809
__Pyx_GOTREF(__pyx_t_3);
3810
__Pyx_INCREF(((PyObject *)__pyx_kp_s_22));
3811
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_22));
3812
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_22));
3813
__pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3814
__Pyx_GOTREF(__pyx_t_6);
3815
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3816
__Pyx_Raise(__pyx_t_6, 0, 0);
3817
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3818
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3823
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":363
3824
* if not PyString_CheckExact(k):
3825
* raise TypeError('key in dict should be string')
3826
* self._encode_string(k) # <<<<<<<<<<<<<<
3827
* self.process(x[k])
3830
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_encode_string(__pyx_v_self, __pyx_v_k); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3832
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":364
3833
* raise TypeError('key in dict should be string')
3834
* self._encode_string(k)
3835
* self.process(x[k]) # <<<<<<<<<<<<<<
3837
* self._ensure_buffer(1)
3839
__pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__process); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3840
__Pyx_GOTREF(__pyx_t_6);
3841
__pyx_t_3 = PyObject_GetItem(__pyx_v_x, __pyx_v_k); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3842
__Pyx_GOTREF(__pyx_t_3);
3843
__pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3844
__Pyx_GOTREF(__pyx_t_7);
3845
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3);
3846
__Pyx_GIVEREF(__pyx_t_3);
3848
__pyx_t_3 = PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3849
__Pyx_GOTREF(__pyx_t_3);
3850
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3851
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
3852
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1652
Py_DECREF(__pyx_2); __pyx_2 = 0;
1654
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":366 */
1655
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self,1); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; goto __pyx_L1;}
1657
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":367 */
3854
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3856
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":366
3857
* self.process(x[k])
3859
* self._ensure_buffer(1) # <<<<<<<<<<<<<<
3860
* self.tail[0] = c'e'
3861
* E_UPDATE_TAIL(self, 1)
3863
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self->__pyx_vtab)->_ensure_buffer(__pyx_v_self, 1); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3865
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":367
3867
* self._ensure_buffer(1)
3868
* self.tail[0] = c'e' # <<<<<<<<<<<<<<
3869
* E_UPDATE_TAIL(self, 1)
1658
3872
(__pyx_v_self->tail[0]) = 'e';
1660
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":368 */
1661
E_UPDATE_TAIL(__pyx_v_self,1);
3874
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":368
3875
* self._ensure_buffer(1)
3876
* self.tail[0] = c'e'
3877
* E_UPDATE_TAIL(self, 1) # <<<<<<<<<<<<<<
3881
E_UPDATE_TAIL(__pyx_v_self, 1);
1663
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":369 */
3883
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":369
3884
* self.tail[0] = c'e'
3885
* E_UPDATE_TAIL(self, 1)
3886
* return 1 # <<<<<<<<<<<<<<
3888
* def process(self, object x):
1670
Py_XDECREF(__pyx_2);
1671
Py_XDECREF(__pyx_3);
1672
Py_XDECREF(__pyx_4);
1673
Py_XDECREF(__pyx_5);
3896
__Pyx_XDECREF(__pyx_t_2);
3897
__Pyx_XDECREF(__pyx_t_3);
3898
__Pyx_XDECREF(__pyx_t_6);
3899
__Pyx_XDECREF(__pyx_t_7);
1674
3900
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder._encode_dict");
1677
Py_DECREF(__pyx_v_keys);
1678
Py_DECREF(__pyx_v_k);
1679
Py_DECREF(__pyx_v_self);
1680
Py_DECREF(__pyx_v_x);
3903
__Pyx_DECREF(__pyx_v_keys);
3904
__Pyx_DECREF(__pyx_v_k);
3905
__Pyx_RefNannyFinishContext();
1681
3906
return __pyx_r;
1684
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Encoder_process(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1685
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_7Encoder_process(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1686
PyObject *__pyx_v_x = 0;
1689
PyObject *__pyx_2 = 0;
1690
PyObject *__pyx_3 = 0;
1692
static char *__pyx_argnames[] = {"x",0};
1693
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_x)) return 0;
1694
Py_INCREF(__pyx_v_self);
1695
Py_INCREF(__pyx_v_x);
1697
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":372 */
1698
__pyx_1 = Py_EnterRecursiveCall(__pyx_k31);
1700
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; goto __pyx_L1;}
1701
Py_INCREF(__pyx_k5p);
1702
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k5p);
1703
__pyx_3 = PyObject_CallObject(PyExc_RuntimeError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; goto __pyx_L1;}
1704
Py_DECREF(__pyx_2); __pyx_2 = 0;
1705
__Pyx_Raise(__pyx_3, 0, 0);
1706
Py_DECREF(__pyx_3); __pyx_3 = 0;
1707
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; goto __pyx_L1;}
3909
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":371
3912
* def process(self, object x): # <<<<<<<<<<<<<<
3913
* if Py_EnterRecursiveCall("encode"):
3914
* raise RuntimeError("too deeply nested")
3917
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_process(PyObject *__pyx_v_self, PyObject *__pyx_v_x); /*proto*/
3918
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_7Encoder_process(PyObject *__pyx_v_self, PyObject *__pyx_v_x) {
3919
PyObject *__pyx_r = NULL;
3921
PyObject *__pyx_t_2 = NULL;
3922
PyObject *__pyx_t_3 = NULL;
3927
__Pyx_RefNannySetupContext("process");
3929
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":372
3931
* def process(self, object x):
3932
* if Py_EnterRecursiveCall("encode"): # <<<<<<<<<<<<<<
3933
* raise RuntimeError("too deeply nested")
3936
__pyx_t_1 = Py_EnterRecursiveCall(__pyx_k__encode);
3939
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":373
3940
* def process(self, object x):
3941
* if Py_EnterRecursiveCall("encode"):
3942
* raise RuntimeError("too deeply nested") # <<<<<<<<<<<<<<
3944
* if PyString_CheckExact(x):
3946
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3947
__Pyx_GOTREF(__pyx_t_2);
3948
__Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
3949
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_4));
3950
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
3951
__pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3952
__Pyx_GOTREF(__pyx_t_3);
3953
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3954
__Pyx_Raise(__pyx_t_3, 0, 0);
3955
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3956
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1712
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":374 */
3961
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":374
3962
* if Py_EnterRecursiveCall("encode"):
3963
* raise RuntimeError("too deeply nested")
3964
* try: # <<<<<<<<<<<<<<
3965
* if PyString_CheckExact(x):
3966
* self._encode_string(x)
1714
__pyx_1 = PyString_CheckExact(__pyx_v_x);
1716
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_string(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_v_x); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; goto __pyx_L4;}
1719
__pyx_1 = PyInt_CheckExact(__pyx_v_x);
1721
__pyx_1 = PyInt_AsLong(__pyx_v_x); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; goto __pyx_L4;}
1722
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_int(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_1); if (__pyx_4 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; goto __pyx_L4;}
1725
__pyx_1 = PyLong_CheckExact(__pyx_v_x);
1727
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_long(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_v_x); if (__pyx_4 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; goto __pyx_L4;}
1730
__pyx_1 = PyList_CheckExact(__pyx_v_x);
1732
__pyx_1 = PyTuple_CheckExact(__pyx_v_x);
1734
__pyx_1 = StaticTuple_CheckExact(__pyx_v_x);
3970
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":375
3971
* raise RuntimeError("too deeply nested")
3973
* if PyString_CheckExact(x): # <<<<<<<<<<<<<<
3974
* self._encode_string(x)
3975
* elif PyInt_CheckExact(x):
3977
__pyx_t_1 = PyString_CheckExact(__pyx_v_x);
3980
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":376
3982
* if PyString_CheckExact(x):
3983
* self._encode_string(x) # <<<<<<<<<<<<<<
3984
* elif PyInt_CheckExact(x):
3985
* self._encode_int(x)
3987
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_string(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_v_x); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L7;}
3991
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":377
3992
* if PyString_CheckExact(x):
3993
* self._encode_string(x)
3994
* elif PyInt_CheckExact(x): # <<<<<<<<<<<<<<
3995
* self._encode_int(x)
3996
* elif PyLong_CheckExact(x):
3998
__pyx_t_1 = PyInt_CheckExact(__pyx_v_x);
4001
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":378
4002
* self._encode_string(x)
4003
* elif PyInt_CheckExact(x):
4004
* self._encode_int(x) # <<<<<<<<<<<<<<
4005
* elif PyLong_CheckExact(x):
4006
* self._encode_long(x)
4008
__pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_x); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L7;}
4009
__pyx_t_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_int(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_t_1); if (unlikely(__pyx_t_4 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L7;}
4013
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":379
4014
* elif PyInt_CheckExact(x):
4015
* self._encode_int(x)
4016
* elif PyLong_CheckExact(x): # <<<<<<<<<<<<<<
4017
* self._encode_long(x)
4018
* elif (PyList_CheckExact(x) or PyTuple_CheckExact(x)
4020
__pyx_t_4 = PyLong_CheckExact(__pyx_v_x);
4023
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":380
4024
* self._encode_int(x)
4025
* elif PyLong_CheckExact(x):
4026
* self._encode_long(x) # <<<<<<<<<<<<<<
4027
* elif (PyList_CheckExact(x) or PyTuple_CheckExact(x)
4028
* or StaticTuple_CheckExact(x)):
4030
__pyx_t_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_long(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_v_x); if (unlikely(__pyx_t_4 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L7;}
4034
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":381
4035
* elif PyLong_CheckExact(x):
4036
* self._encode_long(x)
4037
* elif (PyList_CheckExact(x) or PyTuple_CheckExact(x) # <<<<<<<<<<<<<<
4038
* or StaticTuple_CheckExact(x)):
4039
* self._encode_list(x)
4041
__pyx_t_4 = PyList_CheckExact(__pyx_v_x);
4044
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":382
4045
* self._encode_long(x)
4046
* elif (PyList_CheckExact(x) or PyTuple_CheckExact(x)
4047
* or StaticTuple_CheckExact(x)): # <<<<<<<<<<<<<<
4048
* self._encode_list(x)
4049
* elif PyDict_CheckExact(x):
4051
__pyx_t_1 = PyTuple_CheckExact(__pyx_v_x);
4053
__pyx_t_5 = StaticTuple_CheckExact(__pyx_v_x);
4054
__pyx_t_6 = __pyx_t_5;
4056
__pyx_t_6 = __pyx_t_1;
1738
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_list(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_v_x); if (__pyx_4 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; goto __pyx_L4;}
1741
__pyx_1 = PyDict_CheckExact(__pyx_v_x);
1743
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_dict(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_v_x); if (__pyx_4 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; goto __pyx_L4;}
1746
__pyx_1 = PyBool_Check(__pyx_v_x);
1748
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L4;}
1749
Py_INCREF(__pyx_v_x);
1750
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_x);
1751
__pyx_3 = PyObject_CallObject(((PyObject *)(&PyInt_Type)), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L4;}
1752
Py_DECREF(__pyx_2); __pyx_2 = 0;
1753
__pyx_4 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L4;}
1754
Py_DECREF(__pyx_3); __pyx_3 = 0;
1755
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_int(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_4); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L4;}
1758
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_Bencached); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; goto __pyx_L4;}
1759
__pyx_4 = PyObject_IsInstance(__pyx_v_x,__pyx_2); if (__pyx_4 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; goto __pyx_L4;}
1760
Py_DECREF(__pyx_2); __pyx_2 = 0;
1762
__pyx_3 = PyObject_GetAttr(__pyx_v_x, __pyx_n_bencoded); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; goto __pyx_L4;}
1763
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_append_string(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self),__pyx_3); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; goto __pyx_L4;}
1764
Py_DECREF(__pyx_3); __pyx_3 = 0;
4058
__pyx_t_7 = __pyx_t_6;
4060
__pyx_t_7 = __pyx_t_4;
4064
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":383
4065
* elif (PyList_CheckExact(x) or PyTuple_CheckExact(x)
4066
* or StaticTuple_CheckExact(x)):
4067
* self._encode_list(x) # <<<<<<<<<<<<<<
4068
* elif PyDict_CheckExact(x):
4069
* self._encode_dict(x)
4071
__pyx_t_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_list(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_v_x); if (unlikely(__pyx_t_4 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L7;}
4075
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":384
4076
* or StaticTuple_CheckExact(x)):
4077
* self._encode_list(x)
4078
* elif PyDict_CheckExact(x): # <<<<<<<<<<<<<<
4079
* self._encode_dict(x)
4080
* elif PyBool_Check(x):
4082
__pyx_t_4 = PyDict_CheckExact(__pyx_v_x);
4085
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":385
4086
* self._encode_list(x)
4087
* elif PyDict_CheckExact(x):
4088
* self._encode_dict(x) # <<<<<<<<<<<<<<
4089
* elif PyBool_Check(x):
4090
* self._encode_int(int(x))
4092
__pyx_t_4 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_dict(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_v_x); if (unlikely(__pyx_t_4 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L7;}
4096
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":386
4097
* elif PyDict_CheckExact(x):
4098
* self._encode_dict(x)
4099
* elif PyBool_Check(x): # <<<<<<<<<<<<<<
4100
* self._encode_int(int(x))
4101
* elif isinstance(x, Bencached):
4103
__pyx_t_4 = PyBool_Check(__pyx_v_x);
4106
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":387
4107
* self._encode_dict(x)
4108
* elif PyBool_Check(x):
4109
* self._encode_int(int(x)) # <<<<<<<<<<<<<<
4110
* elif isinstance(x, Bencached):
4111
* self._append_string(x.bencoded)
4113
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L7;}
4114
__Pyx_GOTREF(__pyx_t_3);
4115
__Pyx_INCREF(__pyx_v_x);
4116
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_x);
4117
__Pyx_GIVEREF(__pyx_v_x);
4118
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L7;}
4119
__Pyx_GOTREF(__pyx_t_2);
4120
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4121
__pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L7;}
4122
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4123
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_encode_int(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_t_4); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L7;}
4127
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":388
4128
* elif PyBool_Check(x):
4129
* self._encode_int(int(x))
4130
* elif isinstance(x, Bencached): # <<<<<<<<<<<<<<
4131
* self._append_string(x.bencoded)
4134
__pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__Bencached); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L7;}
4135
__Pyx_GOTREF(__pyx_t_2);
4136
__pyx_t_7 = PyObject_IsInstance(__pyx_v_x, __pyx_t_2); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L7;}
4137
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4140
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":389
4141
* self._encode_int(int(x))
4142
* elif isinstance(x, Bencached):
4143
* self._append_string(x.bencoded) # <<<<<<<<<<<<<<
4145
* raise TypeError('unsupported type %r' % x)
4147
__pyx_t_2 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__bencoded); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L7;}
4148
__Pyx_GOTREF(__pyx_t_2);
4149
__pyx_t_1 = ((struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Encoder *)((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self)->__pyx_vtab)->_append_string(((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_v_self), __pyx_t_2); if (unlikely(__pyx_t_1 == 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L7;}
4150
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1768
__pyx_2 = PyNumber_Remainder(__pyx_k33p, __pyx_v_x); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L4;}
1769
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L4;}
1770
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
1772
__pyx_2 = PyObject_CallObject(PyExc_TypeError, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L4;}
1773
Py_DECREF(__pyx_3); __pyx_3 = 0;
1774
__Pyx_Raise(__pyx_2, 0, 0);
1775
Py_DECREF(__pyx_2); __pyx_2 = 0;
1776
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L4;}
4155
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":391
4156
* self._append_string(x.bencoded)
4158
* raise TypeError('unsupported type %r' % x) # <<<<<<<<<<<<<<
4160
* Py_LeaveRecursiveCall()
4162
__pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_23), __pyx_v_x); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L7;}
4163
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4164
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L7;}
4165
__Pyx_GOTREF(__pyx_t_3);
4166
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
4167
__Pyx_GIVEREF(((PyObject *)__pyx_t_2));
4169
__pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L7;}
4170
__Pyx_GOTREF(__pyx_t_2);
4171
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4172
__Pyx_Raise(__pyx_t_2, 0, 0);
4173
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4174
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L7;}
4179
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":393
4180
* raise TypeError('unsupported type %r' % x)
4182
* Py_LeaveRecursiveCall() # <<<<<<<<<<<<<<
1782
4188
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
1783
4189
int __pyx_exc_lineno;
1784
__pyx_why = 0; goto __pyx_L5;
4190
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
4191
__pyx_why = 0; goto __pyx_L8;
1787
Py_XDECREF(__pyx_3); __pyx_3 = 0;
1788
Py_XDECREF(__pyx_2); __pyx_2 = 0;
1789
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
4194
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4195
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4196
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1790
4197
__pyx_exc_lineno = __pyx_lineno;
1794
4201
Py_LeaveRecursiveCall();
1795
4202
switch (__pyx_why) {
1797
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
4204
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1798
4205
__pyx_lineno = __pyx_exc_lineno;
1799
4206
__pyx_exc_type = 0;
1800
4207
__pyx_exc_value = 0;
1801
4208
__pyx_exc_tb = 0;
4209
goto __pyx_L1_error;
1807
__pyx_r = Py_None; Py_INCREF(Py_None);
4214
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1810
Py_XDECREF(__pyx_2);
1811
Py_XDECREF(__pyx_3);
4217
__Pyx_XDECREF(__pyx_t_2);
4218
__Pyx_XDECREF(__pyx_t_3);
1812
4219
__Pyx_AddTraceback("bzrlib._bencode_pyx.Encoder.process");
1815
Py_DECREF(__pyx_v_self);
1816
Py_DECREF(__pyx_v_x);
4222
__Pyx_XGIVEREF(__pyx_r);
4223
__Pyx_RefNannyFinishContext();
1817
4224
return __pyx_r;
1820
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bencode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
4227
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":396
4230
* def bencode(x): # <<<<<<<<<<<<<<
4231
* """Encode Python object x to string"""
4232
* encoder = Encoder()
4235
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bencode(PyObject *__pyx_self, PyObject *__pyx_v_x); /*proto*/
1821
4236
static char __pyx_doc_6bzrlib_12_bencode_pyx_bencode[] = "Encode Python object x to string";
1822
static PyObject *__pyx_f_6bzrlib_12_bencode_pyx_bencode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1823
PyObject *__pyx_v_x = 0;
1824
PyObject *__pyx_v_encoder;
1826
PyObject *__pyx_1 = 0;
1827
PyObject *__pyx_2 = 0;
1828
PyObject *__pyx_3 = 0;
1829
static char *__pyx_argnames[] = {"x",0};
1830
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_x)) return 0;
1831
Py_INCREF(__pyx_v_x);
1832
__pyx_v_encoder = Py_None; Py_INCREF(Py_None);
1834
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":398 */
1835
__pyx_1 = PyObject_CallObject(((PyObject *)__pyx_ptype_6bzrlib_12_bencode_pyx_Encoder), 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; goto __pyx_L1;}
1836
Py_DECREF(__pyx_v_encoder);
1837
__pyx_v_encoder = __pyx_1;
1840
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":399 */
1841
__pyx_1 = PyObject_GetAttr(__pyx_v_encoder, __pyx_n_process); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
1842
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
1843
Py_INCREF(__pyx_v_x);
1844
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_x);
1845
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
1846
Py_DECREF(__pyx_1); __pyx_1 = 0;
1847
Py_DECREF(__pyx_2); __pyx_2 = 0;
1848
Py_DECREF(__pyx_3); __pyx_3 = 0;
1850
/* "/home/vila/src/bzr/integration/trunk/bzrlib/_bencode_pyx.pyx":400 */
1851
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; goto __pyx_L1;}
1852
Py_INCREF(__pyx_v_encoder);
1853
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_encoder);
1854
__pyx_2 = PyObject_CallObject(((PyObject *)(&PyString_Type)), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; goto __pyx_L1;}
1855
Py_DECREF(__pyx_1); __pyx_1 = 0;
1860
__pyx_r = Py_None; Py_INCREF(Py_None);
1863
Py_XDECREF(__pyx_1);
1864
Py_XDECREF(__pyx_2);
1865
Py_XDECREF(__pyx_3);
4237
static PyObject *__pyx_pf_6bzrlib_12_bencode_pyx_bencode(PyObject *__pyx_self, PyObject *__pyx_v_x) {
4238
struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *__pyx_v_encoder;
4239
PyObject *__pyx_r = NULL;
4240
PyObject *__pyx_t_1 = NULL;
4241
PyObject *__pyx_t_2 = NULL;
4242
PyObject *__pyx_t_3 = NULL;
4243
__Pyx_RefNannySetupContext("bencode");
4244
__pyx_self = __pyx_self;
4245
__pyx_v_encoder = ((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)Py_None); __Pyx_INCREF(Py_None);
4247
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":398
4249
* """Encode Python object x to string"""
4250
* encoder = Encoder() # <<<<<<<<<<<<<<
4251
* encoder.process(x)
4252
* return str(encoder)
4254
__pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6bzrlib_12_bencode_pyx_Encoder)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4255
__Pyx_GOTREF(__pyx_t_1);
4256
__Pyx_DECREF(((PyObject *)__pyx_v_encoder));
4257
__pyx_v_encoder = ((struct __pyx_obj_6bzrlib_12_bencode_pyx_Encoder *)__pyx_t_1);
4260
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":399
4261
* """Encode Python object x to string"""
4262
* encoder = Encoder()
4263
* encoder.process(x) # <<<<<<<<<<<<<<
4264
* return str(encoder)
4266
__pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_encoder), __pyx_n_s__process); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4267
__Pyx_GOTREF(__pyx_t_1);
4268
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4269
__Pyx_GOTREF(__pyx_t_2);
4270
__Pyx_INCREF(__pyx_v_x);
4271
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_x);
4272
__Pyx_GIVEREF(__pyx_v_x);
4273
__pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4274
__Pyx_GOTREF(__pyx_t_3);
4275
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4276
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4277
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4279
/* "/home/vila/src/bzr/integration/2.4.0-dev/bzrlib/_bencode_pyx.pyx":400
4280
* encoder = Encoder()
4281
* encoder.process(x)
4282
* return str(encoder) # <<<<<<<<<<<<<<
4284
__Pyx_XDECREF(__pyx_r);
4285
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4286
__Pyx_GOTREF(__pyx_t_3);
4287
__Pyx_INCREF(((PyObject *)__pyx_v_encoder));
4288
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_encoder));
4289
__Pyx_GIVEREF(((PyObject *)__pyx_v_encoder));
4290
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4291
__Pyx_GOTREF(__pyx_t_2);
4292
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4293
__pyx_r = __pyx_t_2;
4297
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
4300
__Pyx_XDECREF(__pyx_t_1);
4301
__Pyx_XDECREF(__pyx_t_2);
4302
__Pyx_XDECREF(__pyx_t_3);
1866
4303
__Pyx_AddTraceback("bzrlib._bencode_pyx.bencode");
1869
Py_DECREF(__pyx_v_encoder);
1870
Py_DECREF(__pyx_v_x);
4306
__Pyx_DECREF((PyObject *)__pyx_v_encoder);
4307
__Pyx_XGIVEREF(__pyx_r);
4308
__Pyx_RefNannyFinishContext();
1871
4309
return __pyx_r;
1873
4311
static struct __pyx_vtabstruct_6bzrlib_12_bencode_pyx_Decoder __pyx_vtable_6bzrlib_12_bencode_pyx_Decoder;