~lifeless/ubuntu/lucid/bzr/2.1.2-sru

« back to all changes in this revision

Viewing changes to bzrlib/_rio_pyx.c

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2009-06-27 15:23:34 UTC
  • mfrom: (1.3.1 upstream) (3.1.78 karmic)
  • Revision ID: james.westby@ubuntu.com-20090627152334-u3smexjpaolh96qd
* New upstream release.
* Bump standards version to 3.8.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 0.9.7.2 on Fri Jun 12 16:20:44 2009 */
 
2
 
 
3
#define PY_SSIZE_T_CLEAN
 
4
#include "Python.h"
 
5
#include "structmember.h"
 
6
#ifndef PY_LONG_LONG
 
7
  #define PY_LONG_LONG LONG_LONG
 
8
#endif
 
9
#if PY_VERSION_HEX < 0x02050000
 
10
  typedef int Py_ssize_t;
 
11
  #define PY_SSIZE_T_MAX INT_MAX
 
12
  #define PY_SSIZE_T_MIN INT_MIN
 
13
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
 
14
  #define PyInt_AsSsize_t(o)    PyInt_AsLong(o)
 
15
#endif
 
16
#ifndef WIN32
 
17
  #ifndef __stdcall
 
18
    #define __stdcall
 
19
  #endif
 
20
  #ifndef __cdecl
 
21
    #define __cdecl
 
22
  #endif
 
23
#endif
 
24
#ifdef __cplusplus
 
25
#define __PYX_EXTERN_C extern "C"
 
26
#else
 
27
#define __PYX_EXTERN_C extern
 
28
#endif
 
29
#include <math.h>
 
30
#include "python-compat.h"
 
31
#include "stdlib.h"
 
32
#include "string.h"
 
33
 
 
34
 
 
35
typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
 
36
typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
 
37
 
 
38
static PyObject *__pyx_m;
 
39
static PyObject *__pyx_b;
 
40
static int __pyx_lineno;
 
41
static char *__pyx_filename;
 
42
static char **__pyx_f;
 
43
 
 
44
static char __pyx_mdoc[] = "Pyrex implementation of _read_stanza_*.";
 
45
 
 
46
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
 
47
 
 
48
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
49
 
 
50
static PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i); /*proto*/
 
51
 
 
52
static int __Pyx_SetItemInt(PyObject *o, Py_ssize_t i, PyObject *v); /*proto*/
 
53
 
 
54
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
 
55
 
 
56
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
 
57
 
 
58
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
 
59
 
 
60
static void __Pyx_AddTraceback(char *funcname); /*proto*/
 
61
 
 
62
/* Declarations from _rio_pyx */
 
63
 
 
64
static int __pyx_f_8_rio_pyx__valid_tag_char(char); /*proto*/
 
65
static PyObject *__pyx_f_8_rio_pyx__split_first_line_utf8(char *,int,char *,Py_ssize_t *); /*proto*/
 
66
static PyObject *__pyx_f_8_rio_pyx__split_first_line_unicode(Py_UNICODE *,int,Py_UNICODE *,Py_ssize_t *); /*proto*/
 
67
 
 
68
 
 
69
/* Implementation of _rio_pyx */
 
70
 
 
71
static char __pyx_k1[] = "bzrlib.rio";
 
72
 
 
73
static PyObject *__pyx_n_Stanza;
 
74
 
 
75
static PyObject *__pyx_k1p;
 
76
 
 
77
static int __pyx_f_8_rio_pyx__valid_tag_char(char __pyx_v_c) {
 
78
  int __pyx_r;
 
79
  int __pyx_1;
 
80
  __pyx_1 = (__pyx_v_c == '_');
 
81
  if (!__pyx_1) {
 
82
    __pyx_1 = (__pyx_v_c == '-');
 
83
    if (!__pyx_1) {
 
84
      __pyx_1 = (__pyx_v_c >= 'a');
 
85
      if (__pyx_1) {
 
86
        __pyx_1 = (__pyx_v_c <= 'z');
 
87
      }
 
88
      if (!__pyx_1) {
 
89
        __pyx_1 = (__pyx_v_c >= 'A');
 
90
        if (__pyx_1) {
 
91
          __pyx_1 = (__pyx_v_c <= 'Z');
 
92
        }
 
93
        if (!__pyx_1) {
 
94
          __pyx_1 = (__pyx_v_c >= '0');
 
95
          if (__pyx_1) {
 
96
            __pyx_1 = (__pyx_v_c <= '9');
 
97
          }
 
98
        }
 
99
      }
 
100
    }
 
101
  }
 
102
  __pyx_r = __pyx_1;
 
103
  goto __pyx_L0;
 
104
 
 
105
  __pyx_r = 0;
 
106
  __pyx_L0:;
 
107
  return __pyx_r;
 
108
}
 
109
 
 
110
static PyObject *__pyx_f_8_rio_pyx__valid_tag(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
111
static PyObject *__pyx_f_8_rio_pyx__valid_tag(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
112
  PyObject *__pyx_v_tag = 0;
 
113
  char *__pyx_v_c_tag;
 
114
  Py_ssize_t __pyx_v_c_len;
 
115
  int __pyx_v_i;
 
116
  PyObject *__pyx_r;
 
117
  int __pyx_1;
 
118
  PyObject *__pyx_2 = 0;
 
119
  PyObject *__pyx_3 = 0;
 
120
  Py_ssize_t __pyx_4;
 
121
  static char *__pyx_argnames[] = {"tag",0};
 
122
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_tag)) return 0;
 
123
  Py_INCREF(__pyx_v_tag);
 
124
 
 
125
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":63 */
 
126
  __pyx_1 = (!PyString_CheckExact(__pyx_v_tag));
 
127
  if (__pyx_1) {
 
128
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;}
 
129
    Py_INCREF(__pyx_v_tag);
 
130
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_tag);
 
131
    __pyx_3 = PyObject_CallObject(PyExc_TypeError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;}
 
132
    Py_DECREF(__pyx_2); __pyx_2 = 0;
 
133
    __Pyx_Raise(__pyx_3, 0, 0);
 
134
    Py_DECREF(__pyx_3); __pyx_3 = 0;
 
135
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;}
 
136
    goto __pyx_L2;
 
137
  }
 
138
  __pyx_L2:;
 
139
 
 
140
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":65 */
 
141
  __pyx_v_c_tag = PyString_AS_STRING(__pyx_v_tag);
 
142
 
 
143
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":66 */
 
144
  __pyx_4 = PyString_GET_SIZE(__pyx_v_tag); if (__pyx_4 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; goto __pyx_L1;}
 
145
  __pyx_v_c_len = __pyx_4;
 
146
 
 
147
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":67 */
 
148
  __pyx_1 = (__pyx_v_c_len < 1);
 
149
  if (__pyx_1) {
 
150
    Py_INCREF(Py_False);
 
151
    __pyx_r = Py_False;
 
152
    goto __pyx_L0;
 
153
    goto __pyx_L3;
 
154
  }
 
155
  __pyx_L3:;
 
156
 
 
157
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":69 */
 
158
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_c_len; ++__pyx_v_i) {
 
159
    __pyx_1 = (!__pyx_f_8_rio_pyx__valid_tag_char((__pyx_v_c_tag[__pyx_v_i])));
 
160
    if (__pyx_1) {
 
161
      Py_INCREF(Py_False);
 
162
      __pyx_r = Py_False;
 
163
      goto __pyx_L0;
 
164
      goto __pyx_L6;
 
165
    }
 
166
    __pyx_L6:;
 
167
  }
 
168
 
 
169
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":72 */
 
170
  Py_INCREF(Py_True);
 
171
  __pyx_r = Py_True;
 
172
  goto __pyx_L0;
 
173
 
 
174
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
175
  goto __pyx_L0;
 
176
  __pyx_L1:;
 
177
  Py_XDECREF(__pyx_2);
 
178
  Py_XDECREF(__pyx_3);
 
179
  __Pyx_AddTraceback("_rio_pyx._valid_tag");
 
180
  __pyx_r = 0;
 
181
  __pyx_L0:;
 
182
  Py_DECREF(__pyx_v_tag);
 
183
  return __pyx_r;
 
184
}
 
185
 
 
186
static PyObject *__pyx_k3p;
 
187
static PyObject *__pyx_k4p;
 
188
 
 
189
static char __pyx_k3[] = "invalid tag in line %r";
 
190
static char __pyx_k4[] = "tag/value separator not found in line %r";
 
191
 
 
192
static PyObject *__pyx_f_8_rio_pyx__split_first_line_utf8(char *__pyx_v_line,int __pyx_v_len,char *__pyx_v_value,Py_ssize_t *__pyx_v_value_len) {
 
193
  int __pyx_v_i;
 
194
  PyObject *__pyx_r;
 
195
  int __pyx_1;
 
196
  PyObject *__pyx_2 = 0;
 
197
  PyObject *__pyx_3 = 0;
 
198
 
 
199
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":78 */
 
200
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_len; ++__pyx_v_i) {
 
201
    __pyx_1 = ((__pyx_v_line[__pyx_v_i]) == ':');
 
202
    if (__pyx_1) {
 
203
 
 
204
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":80 */
 
205
      __pyx_1 = ((__pyx_v_line[(__pyx_v_i + 1)]) != ' ');
 
206
      if (__pyx_1) {
 
207
        __pyx_2 = PyString_FromString(__pyx_v_line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
 
208
        __pyx_3 = PyNumber_Remainder(__pyx_k3p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
 
209
        Py_DECREF(__pyx_2); __pyx_2 = 0;
 
210
        __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
 
211
        PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
 
212
        __pyx_3 = 0;
 
213
        __pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
 
214
        Py_DECREF(__pyx_2); __pyx_2 = 0;
 
215
        __Pyx_Raise(__pyx_3, 0, 0);
 
216
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
217
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
 
218
        goto __pyx_L5;
 
219
      }
 
220
      __pyx_L5:;
 
221
 
 
222
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":82 */
 
223
      memcpy(__pyx_v_value,((__pyx_v_line + __pyx_v_i) + 2),((__pyx_v_len - __pyx_v_i) - 2));
 
224
 
 
225
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":83 */
 
226
      (__pyx_v_value_len[0]) = ((__pyx_v_len - __pyx_v_i) - 2);
 
227
 
 
228
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":84 */
 
229
      __pyx_2 = PyString_FromStringAndSize(__pyx_v_line,__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
 
230
      __pyx_r = __pyx_2;
 
231
      __pyx_2 = 0;
 
232
      goto __pyx_L0;
 
233
      goto __pyx_L4;
 
234
    }
 
235
    __pyx_L4:;
 
236
  }
 
237
 
 
238
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":85 */
 
239
  __pyx_3 = PyString_FromString(__pyx_v_line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
 
240
  __pyx_2 = PyNumber_Remainder(__pyx_k4p, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
 
241
  Py_DECREF(__pyx_3); __pyx_3 = 0;
 
242
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
 
243
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
 
244
  __pyx_2 = 0;
 
245
  __pyx_2 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
 
246
  Py_DECREF(__pyx_3); __pyx_3 = 0;
 
247
  __Pyx_Raise(__pyx_2, 0, 0);
 
248
  Py_DECREF(__pyx_2); __pyx_2 = 0;
 
249
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
 
250
 
 
251
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
252
  goto __pyx_L0;
 
253
  __pyx_L1:;
 
254
  Py_XDECREF(__pyx_2);
 
255
  Py_XDECREF(__pyx_3);
 
256
  __Pyx_AddTraceback("_rio_pyx._split_first_line_utf8");
 
257
  __pyx_r = 0;
 
258
  __pyx_L0:;
 
259
  return __pyx_r;
 
260
}
 
261
 
 
262
static PyObject *__pyx_k5p;
 
263
static PyObject *__pyx_k7p;
 
264
 
 
265
static char __pyx_k5[] = "invalid tag in line %r";
 
266
static char __pyx_k6[] = "strict";
 
267
static char __pyx_k7[] = "tag/value separator not found in line %r";
 
268
 
 
269
static PyObject *__pyx_f_8_rio_pyx__split_first_line_unicode(Py_UNICODE *__pyx_v_line,int __pyx_v_len,Py_UNICODE *__pyx_v_value,Py_ssize_t *__pyx_v_value_len) {
 
270
  int __pyx_v_i;
 
271
  PyObject *__pyx_r;
 
272
  int __pyx_1;
 
273
  PyObject *__pyx_2 = 0;
 
274
  PyObject *__pyx_3 = 0;
 
275
 
 
276
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":91 */
 
277
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_len; ++__pyx_v_i) {
 
278
    __pyx_1 = ((__pyx_v_line[__pyx_v_i]) == ':');
 
279
    if (__pyx_1) {
 
280
 
 
281
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":93 */
 
282
      __pyx_1 = ((__pyx_v_line[(__pyx_v_i + 1)]) != ' ');
 
283
      if (__pyx_1) {
 
284
        __pyx_2 = PyUnicode_FromUnicode(__pyx_v_line,__pyx_v_len); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;}
 
285
        __pyx_3 = PyNumber_Remainder(__pyx_k5p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
 
286
        Py_DECREF(__pyx_2); __pyx_2 = 0;
 
287
        __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
 
288
        PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
 
289
        __pyx_3 = 0;
 
290
        __pyx_3 = PyObject_CallObject(PyExc_ValueError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
 
291
        Py_DECREF(__pyx_2); __pyx_2 = 0;
 
292
        __Pyx_Raise(__pyx_3, 0, 0);
 
293
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
294
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
 
295
        goto __pyx_L5;
 
296
      }
 
297
      __pyx_L5:;
 
298
 
 
299
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":96 */
 
300
      memcpy(__pyx_v_value,(&(__pyx_v_line[(__pyx_v_i + 2)])),(((__pyx_v_len - __pyx_v_i) - 2) * (sizeof(Py_UNICODE))));
 
301
 
 
302
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":97 */
 
303
      (__pyx_v_value_len[0]) = ((__pyx_v_len - __pyx_v_i) - 2);
 
304
 
 
305
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":98 */
 
306
      __pyx_2 = PyUnicode_EncodeASCII(__pyx_v_line,__pyx_v_i,__pyx_k6); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; goto __pyx_L1;}
 
307
      __pyx_r = __pyx_2;
 
308
      __pyx_2 = 0;
 
309
      goto __pyx_L0;
 
310
      goto __pyx_L4;
 
311
    }
 
312
    __pyx_L4:;
 
313
  }
 
314
 
 
315
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":99 */
 
316
  __pyx_3 = PyUnicode_FromUnicode(__pyx_v_line,__pyx_v_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; goto __pyx_L1;}
 
317
  __pyx_2 = PyNumber_Remainder(__pyx_k7p, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
 
318
  Py_DECREF(__pyx_3); __pyx_3 = 0;
 
319
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
 
320
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
 
321
  __pyx_2 = 0;
 
322
  __pyx_2 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
 
323
  Py_DECREF(__pyx_3); __pyx_3 = 0;
 
324
  __Pyx_Raise(__pyx_2, 0, 0);
 
325
  Py_DECREF(__pyx_2); __pyx_2 = 0;
 
326
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
 
327
 
 
328
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
329
  goto __pyx_L0;
 
330
  __pyx_L1:;
 
331
  Py_XDECREF(__pyx_2);
 
332
  Py_XDECREF(__pyx_3);
 
333
  __Pyx_AddTraceback("_rio_pyx._split_first_line_unicode");
 
334
  __pyx_r = 0;
 
335
  __pyx_L0:;
 
336
  return __pyx_r;
 
337
}
 
338
 
 
339
static PyObject *__pyx_n__valid_tag;
 
340
static PyObject *__pyx_n_from_pairs;
 
341
 
 
342
static PyObject *__pyx_k8p;
 
343
static PyObject *__pyx_k9p;
 
344
static PyObject *__pyx_k11p;
 
345
 
 
346
static char __pyx_k8[] = "%r is not a plain string";
 
347
static char __pyx_k9[] = "invalid continuation line %r";
 
348
static char __pyx_k10[] = "strict";
 
349
static char __pyx_k11[] = "invalid rio tag %r";
 
350
static char __pyx_k12[] = "strict";
 
351
 
 
352
static PyObject *__pyx_f_8_rio_pyx__read_stanza_utf8(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
353
static PyObject *__pyx_f_8_rio_pyx__read_stanza_utf8(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
354
  PyObject *__pyx_v_line_iter = 0;
 
355
  char *__pyx_v_c_line;
 
356
  Py_ssize_t __pyx_v_c_len;
 
357
  char *__pyx_v_accum_value;
 
358
  char *__pyx_v_new_accum_value;
 
359
  Py_ssize_t __pyx_v_accum_len;
 
360
  Py_ssize_t __pyx_v_accum_size;
 
361
  PyObject *__pyx_v_pairs;
 
362
  PyObject *__pyx_v_tag;
 
363
  PyObject *__pyx_v_line;
 
364
  PyObject *__pyx_r;
 
365
  PyObject *__pyx_1 = 0;
 
366
  int __pyx_2;
 
367
  PyObject *__pyx_3 = 0;
 
368
  PyObject *__pyx_4 = 0;
 
369
  Py_ssize_t __pyx_5;
 
370
  PyObject *__pyx_6 = 0;
 
371
  int __pyx_7;
 
372
  static char *__pyx_argnames[] = {"line_iter",0};
 
373
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_line_iter)) return 0;
 
374
  Py_INCREF(__pyx_v_line_iter);
 
375
  __pyx_v_pairs = Py_None; Py_INCREF(Py_None);
 
376
  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
 
377
  __pyx_v_line = Py_None; Py_INCREF(Py_None);
 
378
 
 
379
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":108 */
 
380
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;}
 
381
  Py_DECREF(__pyx_v_pairs);
 
382
  __pyx_v_pairs = __pyx_1;
 
383
  __pyx_1 = 0;
 
384
 
 
385
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":109 */
 
386
  Py_INCREF(Py_None);
 
387
  Py_DECREF(__pyx_v_tag);
 
388
  __pyx_v_tag = Py_None;
 
389
 
 
390
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":110 */
 
391
  __pyx_v_accum_len = 0;
 
392
 
 
393
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":111 */
 
394
  __pyx_v_accum_size = 4096;
 
395
 
 
396
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":112 */
 
397
  __pyx_v_accum_value = ((char *)malloc(__pyx_v_accum_size));
 
398
 
 
399
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":113 */
 
400
  __pyx_2 = (__pyx_v_accum_value == NULL);
 
401
  if (__pyx_2) {
 
402
    __Pyx_Raise(PyExc_MemoryError, 0, 0);
 
403
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; goto __pyx_L1;}
 
404
    goto __pyx_L2;
 
405
  }
 
406
  __pyx_L2:;
 
407
 
 
408
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":115 */
 
409
  /*try:*/ {
 
410
 
 
411
    /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":116 */
 
412
    __pyx_1 = PyObject_GetIter(__pyx_v_line_iter); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L4;}
 
413
    for (;;) {
 
414
      __pyx_3 = PyIter_Next(__pyx_1);
 
415
      if (!__pyx_3) {
 
416
        if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L4;}
 
417
        break;
 
418
      }
 
419
      Py_DECREF(__pyx_v_line);
 
420
      __pyx_v_line = __pyx_3;
 
421
      __pyx_3 = 0;
 
422
 
 
423
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":117 */
 
424
      __pyx_2 = __pyx_v_line == Py_None;
 
425
      if (__pyx_2) {
 
426
        goto __pyx_L7;
 
427
        goto __pyx_L8;
 
428
      }
 
429
      __pyx_L8:;
 
430
 
 
431
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":119 */
 
432
      __pyx_2 = (!PyString_CheckExact(__pyx_v_line));
 
433
      if (__pyx_2) {
 
434
        __pyx_3 = PyNumber_Remainder(__pyx_k8p, __pyx_v_line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L4;}
 
435
        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L4;}
 
436
        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
 
437
        __pyx_3 = 0;
 
438
        __pyx_3 = PyObject_CallObject(PyExc_TypeError, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L4;}
 
439
        Py_DECREF(__pyx_4); __pyx_4 = 0;
 
440
        __Pyx_Raise(__pyx_3, 0, 0);
 
441
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
442
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L4;}
 
443
        goto __pyx_L9;
 
444
      }
 
445
      __pyx_L9:;
 
446
 
 
447
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":121 */
 
448
      __pyx_v_c_line = PyString_AS_STRING(__pyx_v_line);
 
449
 
 
450
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":122 */
 
451
      __pyx_5 = PyString_GET_SIZE(__pyx_v_line); if (__pyx_5 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L4;}
 
452
      __pyx_v_c_len = __pyx_5;
 
453
 
 
454
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":123 */
 
455
      __pyx_2 = (__pyx_v_c_len < 1);
 
456
      if (__pyx_2) {
 
457
        goto __pyx_L7;
 
458
        goto __pyx_L10;
 
459
      }
 
460
      __pyx_L10:;
 
461
 
 
462
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":125 */
 
463
      __pyx_2 = (__pyx_v_c_len == 1);
 
464
      if (__pyx_2) {
 
465
        __pyx_2 = ((__pyx_v_c_line[0]) == '\n');
 
466
      }
 
467
      if (__pyx_2) {
 
468
        goto __pyx_L7;
 
469
        goto __pyx_L11;
 
470
      }
 
471
      __pyx_L11:;
 
472
 
 
473
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":127 */
 
474
      __pyx_2 = ((__pyx_v_accum_len + __pyx_v_c_len) > __pyx_v_accum_size);
 
475
      if (__pyx_2) {
 
476
 
 
477
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":128 */
 
478
        __pyx_v_accum_size = (__pyx_v_accum_len + __pyx_v_c_len);
 
479
 
 
480
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":129 */
 
481
        __pyx_v_new_accum_value = ((char *)realloc(__pyx_v_accum_value,__pyx_v_accum_size));
 
482
 
 
483
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":130 */
 
484
        __pyx_2 = (__pyx_v_new_accum_value == NULL);
 
485
        if (__pyx_2) {
 
486
          __Pyx_Raise(PyExc_MemoryError, 0, 0);
 
487
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; goto __pyx_L4;}
 
488
          goto __pyx_L13;
 
489
        }
 
490
        /*else*/ {
 
491
          __pyx_v_accum_value = __pyx_v_new_accum_value;
 
492
        }
 
493
        __pyx_L13:;
 
494
        goto __pyx_L12;
 
495
      }
 
496
      __pyx_L12:;
 
497
 
 
498
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":134 */
 
499
      __pyx_2 = ((__pyx_v_c_line[0]) == '\t');
 
500
      if (__pyx_2) {
 
501
 
 
502
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":135 */
 
503
        __pyx_2 = __pyx_v_tag == Py_None;
 
504
        if (__pyx_2) {
 
505
          __pyx_4 = PyNumber_Remainder(__pyx_k9p, __pyx_v_line); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; goto __pyx_L4;}
 
506
          __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; goto __pyx_L4;}
 
507
          PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
 
508
          __pyx_4 = 0;
 
509
          __pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; goto __pyx_L4;}
 
510
          Py_DECREF(__pyx_3); __pyx_3 = 0;
 
511
          __Pyx_Raise(__pyx_4, 0, 0);
 
512
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
513
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; goto __pyx_L4;}
 
514
          goto __pyx_L15;
 
515
        }
 
516
        __pyx_L15:;
 
517
 
 
518
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":137 */
 
519
        memcpy((__pyx_v_accum_value + __pyx_v_accum_len),(__pyx_v_c_line + 1),(__pyx_v_c_len - 1));
 
520
 
 
521
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":138 */
 
522
        __pyx_v_accum_len = ((__pyx_v_accum_len + __pyx_v_c_len) - 1);
 
523
        goto __pyx_L14;
 
524
      }
 
525
      /*else*/ {
 
526
 
 
527
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":140 */
 
528
        __pyx_2 = __pyx_v_tag != Py_None;
 
529
        if (__pyx_2) {
 
530
          __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_accum_value,(__pyx_v_accum_len - 1),__pyx_k10); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; goto __pyx_L4;}
 
531
          __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; goto __pyx_L4;}
 
532
          Py_INCREF(__pyx_v_tag);
 
533
          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
 
534
          PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
 
535
          __pyx_3 = 0;
 
536
          __pyx_2 = PyList_Append(__pyx_v_pairs,__pyx_4); if (__pyx_2 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; goto __pyx_L4;}
 
537
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
538
          goto __pyx_L16;
 
539
        }
 
540
        __pyx_L16:;
 
541
 
 
542
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":144 */
 
543
        __pyx_3 = __pyx_f_8_rio_pyx__split_first_line_utf8(__pyx_v_c_line,__pyx_v_c_len,__pyx_v_accum_value,(&__pyx_v_accum_len)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; goto __pyx_L4;}
 
544
        Py_DECREF(__pyx_v_tag);
 
545
        __pyx_v_tag = __pyx_3;
 
546
        __pyx_3 = 0;
 
547
 
 
548
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":146 */
 
549
        __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n__valid_tag); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L4;}
 
550
        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L4;}
 
551
        Py_INCREF(__pyx_v_tag);
 
552
        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_tag);
 
553
        __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L4;}
 
554
        Py_DECREF(__pyx_4); __pyx_4 = 0;
 
555
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
556
        __pyx_2 = PyObject_IsTrue(__pyx_6); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L4;}
 
557
        Py_DECREF(__pyx_6); __pyx_6 = 0;
 
558
        __pyx_7 = (!__pyx_2);
 
559
        if (__pyx_7) {
 
560
          __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L4;}
 
561
          Py_INCREF(__pyx_v_tag);
 
562
          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
 
563
          __pyx_3 = PyNumber_Remainder(__pyx_k11p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L4;}
 
564
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
565
          __pyx_6 = PyTuple_New(1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L4;}
 
566
          PyTuple_SET_ITEM(__pyx_6, 0, __pyx_3);
 
567
          __pyx_3 = 0;
 
568
          __pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L4;}
 
569
          Py_DECREF(__pyx_6); __pyx_6 = 0;
 
570
          __Pyx_Raise(__pyx_4, 0, 0);
 
571
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
572
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L4;}
 
573
          goto __pyx_L17;
 
574
        }
 
575
        __pyx_L17:;
 
576
      }
 
577
      __pyx_L14:;
 
578
    }
 
579
    __pyx_L7:;
 
580
    Py_DECREF(__pyx_1); __pyx_1 = 0;
 
581
 
 
582
    /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":148 */
 
583
    __pyx_2 = __pyx_v_tag != Py_None;
 
584
    if (__pyx_2) {
 
585
 
 
586
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":149 */
 
587
      __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_accum_value,(__pyx_v_accum_len - 1),__pyx_k12); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; goto __pyx_L4;}
 
588
      __pyx_6 = PyTuple_New(2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; goto __pyx_L4;}
 
589
      Py_INCREF(__pyx_v_tag);
 
590
      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_tag);
 
591
      PyTuple_SET_ITEM(__pyx_6, 1, __pyx_3);
 
592
      __pyx_3 = 0;
 
593
      __pyx_7 = PyList_Append(__pyx_v_pairs,__pyx_6); if (__pyx_7 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; goto __pyx_L4;}
 
594
      Py_DECREF(__pyx_6); __pyx_6 = 0;
 
595
 
 
596
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":151 */
 
597
      __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_Stanza); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L4;}
 
598
      __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_from_pairs); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L4;}
 
599
      Py_DECREF(__pyx_4); __pyx_4 = 0;
 
600
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L4;}
 
601
      Py_INCREF(__pyx_v_pairs);
 
602
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_pairs);
 
603
      __pyx_6 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L4;}
 
604
      Py_DECREF(__pyx_1); __pyx_1 = 0;
 
605
      Py_DECREF(__pyx_3); __pyx_3 = 0;
 
606
      __pyx_r = __pyx_6;
 
607
      __pyx_6 = 0;
 
608
      goto __pyx_L3;
 
609
      goto __pyx_L18;
 
610
    }
 
611
    /*else*/ {
 
612
      Py_INCREF(Py_None);
 
613
      __pyx_r = Py_None;
 
614
      goto __pyx_L3;
 
615
    }
 
616
    __pyx_L18:;
 
617
  }
 
618
  /*finally:*/ {
 
619
    int __pyx_why;
 
620
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
621
    int __pyx_exc_lineno;
 
622
    __pyx_why = 0; goto __pyx_L5;
 
623
    __pyx_L3: __pyx_why = 3; goto __pyx_L5;
 
624
    __pyx_L4: {
 
625
      __pyx_why = 4;
 
626
      Py_XDECREF(__pyx_4); __pyx_4 = 0;
 
627
      Py_XDECREF(__pyx_1); __pyx_1 = 0;
 
628
      Py_XDECREF(__pyx_3); __pyx_3 = 0;
 
629
      Py_XDECREF(__pyx_6); __pyx_6 = 0;
 
630
      PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
 
631
      __pyx_exc_lineno = __pyx_lineno;
 
632
      goto __pyx_L5;
 
633
    }
 
634
    __pyx_L5:;
 
635
    free(__pyx_v_accum_value);
 
636
    switch (__pyx_why) {
 
637
      case 3: goto __pyx_L0;
 
638
      case 4: {
 
639
        PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
640
        __pyx_lineno = __pyx_exc_lineno;
 
641
        __pyx_exc_type = 0;
 
642
        __pyx_exc_value = 0;
 
643
        __pyx_exc_tb = 0;
 
644
        goto __pyx_L1;
 
645
      }
 
646
    }
 
647
  }
 
648
 
 
649
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
650
  goto __pyx_L0;
 
651
  __pyx_L1:;
 
652
  Py_XDECREF(__pyx_1);
 
653
  Py_XDECREF(__pyx_3);
 
654
  Py_XDECREF(__pyx_4);
 
655
  Py_XDECREF(__pyx_6);
 
656
  __Pyx_AddTraceback("_rio_pyx._read_stanza_utf8");
 
657
  __pyx_r = 0;
 
658
  __pyx_L0:;
 
659
  Py_DECREF(__pyx_v_pairs);
 
660
  Py_DECREF(__pyx_v_tag);
 
661
  Py_DECREF(__pyx_v_line);
 
662
  Py_DECREF(__pyx_v_line_iter);
 
663
  return __pyx_r;
 
664
}
 
665
 
 
666
static PyObject *__pyx_k13p;
 
667
static PyObject *__pyx_k14p;
 
668
static PyObject *__pyx_k15p;
 
669
 
 
670
static char __pyx_k13[] = "%r is not a unicode string";
 
671
static char __pyx_k14[] = "invalid continuation line %r";
 
672
static char __pyx_k15[] = "invalid rio tag %r";
 
673
 
 
674
static PyObject *__pyx_f_8_rio_pyx__read_stanza_unicode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
675
static PyObject *__pyx_f_8_rio_pyx__read_stanza_unicode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
676
  PyObject *__pyx_v_unicode_iter = 0;
 
677
  Py_UNICODE *__pyx_v_c_line;
 
678
  int __pyx_v_c_len;
 
679
  Py_UNICODE *__pyx_v_accum_value;
 
680
  Py_UNICODE *__pyx_v_new_accum_value;
 
681
  Py_ssize_t __pyx_v_accum_len;
 
682
  Py_ssize_t __pyx_v_accum_size;
 
683
  PyObject *__pyx_v_pairs;
 
684
  PyObject *__pyx_v_tag;
 
685
  PyObject *__pyx_v_line;
 
686
  PyObject *__pyx_r;
 
687
  PyObject *__pyx_1 = 0;
 
688
  int __pyx_2;
 
689
  PyObject *__pyx_3 = 0;
 
690
  PyObject *__pyx_4 = 0;
 
691
  Py_ssize_t __pyx_5;
 
692
  PyObject *__pyx_6 = 0;
 
693
  int __pyx_7;
 
694
  static char *__pyx_argnames[] = {"unicode_iter",0};
 
695
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_unicode_iter)) return 0;
 
696
  Py_INCREF(__pyx_v_unicode_iter);
 
697
  __pyx_v_pairs = Py_None; Py_INCREF(Py_None);
 
698
  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
 
699
  __pyx_v_line = Py_None; Py_INCREF(Py_None);
 
700
 
 
701
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":163 */
 
702
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; goto __pyx_L1;}
 
703
  Py_DECREF(__pyx_v_pairs);
 
704
  __pyx_v_pairs = __pyx_1;
 
705
  __pyx_1 = 0;
 
706
 
 
707
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":164 */
 
708
  Py_INCREF(Py_None);
 
709
  Py_DECREF(__pyx_v_tag);
 
710
  __pyx_v_tag = Py_None;
 
711
 
 
712
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":165 */
 
713
  __pyx_v_accum_len = 0;
 
714
 
 
715
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":166 */
 
716
  __pyx_v_accum_size = 4096;
 
717
 
 
718
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":167 */
 
719
  __pyx_v_accum_value = ((Py_UNICODE *)malloc((__pyx_v_accum_size * (sizeof(Py_UNICODE)))));
 
720
 
 
721
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":168 */
 
722
  __pyx_2 = (__pyx_v_accum_value == NULL);
 
723
  if (__pyx_2) {
 
724
    __Pyx_Raise(PyExc_MemoryError, 0, 0);
 
725
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; goto __pyx_L1;}
 
726
    goto __pyx_L2;
 
727
  }
 
728
  __pyx_L2:;
 
729
 
 
730
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":170 */
 
731
  /*try:*/ {
 
732
 
 
733
    /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":171 */
 
734
    __pyx_1 = PyObject_GetIter(__pyx_v_unicode_iter); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L4;}
 
735
    for (;;) {
 
736
      __pyx_3 = PyIter_Next(__pyx_1);
 
737
      if (!__pyx_3) {
 
738
        if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L4;}
 
739
        break;
 
740
      }
 
741
      Py_DECREF(__pyx_v_line);
 
742
      __pyx_v_line = __pyx_3;
 
743
      __pyx_3 = 0;
 
744
 
 
745
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":172 */
 
746
      __pyx_2 = __pyx_v_line == Py_None;
 
747
      if (__pyx_2) {
 
748
        goto __pyx_L7;
 
749
        goto __pyx_L8;
 
750
      }
 
751
      __pyx_L8:;
 
752
 
 
753
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":174 */
 
754
      __pyx_2 = (!PyUnicode_CheckExact(__pyx_v_line));
 
755
      if (__pyx_2) {
 
756
        __pyx_3 = PyNumber_Remainder(__pyx_k13p, __pyx_v_line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L4;}
 
757
        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L4;}
 
758
        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
 
759
        __pyx_3 = 0;
 
760
        __pyx_3 = PyObject_CallObject(PyExc_TypeError, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L4;}
 
761
        Py_DECREF(__pyx_4); __pyx_4 = 0;
 
762
        __Pyx_Raise(__pyx_3, 0, 0);
 
763
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
764
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L4;}
 
765
        goto __pyx_L9;
 
766
      }
 
767
      __pyx_L9:;
 
768
 
 
769
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":176 */
 
770
      __pyx_v_c_line = PyUnicode_AS_UNICODE(__pyx_v_line);
 
771
 
 
772
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":177 */
 
773
      __pyx_5 = PyUnicode_GET_SIZE(__pyx_v_line); if (__pyx_5 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; goto __pyx_L4;}
 
774
      __pyx_v_c_len = __pyx_5;
 
775
 
 
776
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":178 */
 
777
      __pyx_2 = (__pyx_v_c_len < 1);
 
778
      if (__pyx_2) {
 
779
        goto __pyx_L7;
 
780
        goto __pyx_L10;
 
781
      }
 
782
      __pyx_L10:;
 
783
 
 
784
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":180 */
 
785
      __pyx_2 = Py_UNICODE_ISLINEBREAK((__pyx_v_c_line[0]));
 
786
      if (__pyx_2) {
 
787
        goto __pyx_L7;
 
788
        goto __pyx_L11;
 
789
      }
 
790
      __pyx_L11:;
 
791
 
 
792
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":182 */
 
793
      __pyx_2 = ((__pyx_v_accum_len + __pyx_v_c_len) > __pyx_v_accum_size);
 
794
      if (__pyx_2) {
 
795
 
 
796
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":183 */
 
797
        __pyx_v_accum_size = (__pyx_v_accum_len + __pyx_v_c_len);
 
798
 
 
799
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":184 */
 
800
        __pyx_v_new_accum_value = ((Py_UNICODE *)realloc(__pyx_v_accum_value,(__pyx_v_accum_size * (sizeof(Py_UNICODE)))));
 
801
 
 
802
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":186 */
 
803
        __pyx_2 = (__pyx_v_new_accum_value == NULL);
 
804
        if (__pyx_2) {
 
805
          __Pyx_Raise(PyExc_MemoryError, 0, 0);
 
806
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L4;}
 
807
          goto __pyx_L13;
 
808
        }
 
809
        /*else*/ {
 
810
          __pyx_v_accum_value = __pyx_v_new_accum_value;
 
811
        }
 
812
        __pyx_L13:;
 
813
        goto __pyx_L12;
 
814
      }
 
815
      __pyx_L12:;
 
816
 
 
817
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":190 */
 
818
      __pyx_2 = ((__pyx_v_c_line[0]) == '\t');
 
819
      if (__pyx_2) {
 
820
 
 
821
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":191 */
 
822
        __pyx_2 = __pyx_v_tag == Py_None;
 
823
        if (__pyx_2) {
 
824
          __pyx_4 = PyNumber_Remainder(__pyx_k14p, __pyx_v_line); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L4;}
 
825
          __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L4;}
 
826
          PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
 
827
          __pyx_4 = 0;
 
828
          __pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L4;}
 
829
          Py_DECREF(__pyx_3); __pyx_3 = 0;
 
830
          __Pyx_Raise(__pyx_4, 0, 0);
 
831
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
832
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L4;}
 
833
          goto __pyx_L15;
 
834
        }
 
835
        __pyx_L15:;
 
836
 
 
837
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":193 */
 
838
        memcpy((&(__pyx_v_accum_value[__pyx_v_accum_len])),(&(__pyx_v_c_line[1])),((__pyx_v_c_len - 1) * (sizeof(Py_UNICODE))));
 
839
 
 
840
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":195 */
 
841
        __pyx_v_accum_len = (__pyx_v_accum_len + (__pyx_v_c_len - 1));
 
842
        goto __pyx_L14;
 
843
      }
 
844
      /*else*/ {
 
845
 
 
846
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":197 */
 
847
        __pyx_2 = __pyx_v_tag != Py_None;
 
848
        if (__pyx_2) {
 
849
          __pyx_3 = PyUnicode_FromUnicode(__pyx_v_accum_value,(__pyx_v_accum_len - 1)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; goto __pyx_L4;}
 
850
          __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; goto __pyx_L4;}
 
851
          Py_INCREF(__pyx_v_tag);
 
852
          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
 
853
          PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
 
854
          __pyx_3 = 0;
 
855
          __pyx_2 = PyList_Append(__pyx_v_pairs,__pyx_4); if (__pyx_2 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; goto __pyx_L4;}
 
856
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
857
          goto __pyx_L16;
 
858
        }
 
859
        __pyx_L16:;
 
860
 
 
861
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":200 */
 
862
        __pyx_3 = __pyx_f_8_rio_pyx__split_first_line_unicode(__pyx_v_c_line,__pyx_v_c_len,__pyx_v_accum_value,(&__pyx_v_accum_len)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; goto __pyx_L4;}
 
863
        Py_DECREF(__pyx_v_tag);
 
864
        __pyx_v_tag = __pyx_3;
 
865
        __pyx_3 = 0;
 
866
 
 
867
        /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":202 */
 
868
        __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n__valid_tag); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; goto __pyx_L4;}
 
869
        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; goto __pyx_L4;}
 
870
        Py_INCREF(__pyx_v_tag);
 
871
        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_tag);
 
872
        __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; goto __pyx_L4;}
 
873
        Py_DECREF(__pyx_4); __pyx_4 = 0;
 
874
        Py_DECREF(__pyx_3); __pyx_3 = 0;
 
875
        __pyx_2 = PyObject_IsTrue(__pyx_6); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; goto __pyx_L4;}
 
876
        Py_DECREF(__pyx_6); __pyx_6 = 0;
 
877
        __pyx_7 = (!__pyx_2);
 
878
        if (__pyx_7) {
 
879
          __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L4;}
 
880
          Py_INCREF(__pyx_v_tag);
 
881
          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
 
882
          __pyx_3 = PyNumber_Remainder(__pyx_k15p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L4;}
 
883
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
884
          __pyx_6 = PyTuple_New(1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L4;}
 
885
          PyTuple_SET_ITEM(__pyx_6, 0, __pyx_3);
 
886
          __pyx_3 = 0;
 
887
          __pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L4;}
 
888
          Py_DECREF(__pyx_6); __pyx_6 = 0;
 
889
          __Pyx_Raise(__pyx_4, 0, 0);
 
890
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 
891
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L4;}
 
892
          goto __pyx_L17;
 
893
        }
 
894
        __pyx_L17:;
 
895
      }
 
896
      __pyx_L14:;
 
897
    }
 
898
    __pyx_L7:;
 
899
    Py_DECREF(__pyx_1); __pyx_1 = 0;
 
900
 
 
901
    /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":204 */
 
902
    __pyx_2 = __pyx_v_tag != Py_None;
 
903
    if (__pyx_2) {
 
904
 
 
905
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":205 */
 
906
      __pyx_3 = PyUnicode_FromUnicode(__pyx_v_accum_value,(__pyx_v_accum_len - 1)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; goto __pyx_L4;}
 
907
      __pyx_6 = PyTuple_New(2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; goto __pyx_L4;}
 
908
      Py_INCREF(__pyx_v_tag);
 
909
      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_tag);
 
910
      PyTuple_SET_ITEM(__pyx_6, 1, __pyx_3);
 
911
      __pyx_3 = 0;
 
912
      __pyx_7 = PyList_Append(__pyx_v_pairs,__pyx_6); if (__pyx_7 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; goto __pyx_L4;}
 
913
      Py_DECREF(__pyx_6); __pyx_6 = 0;
 
914
 
 
915
      /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":207 */
 
916
      __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_Stanza); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L4;}
 
917
      __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_from_pairs); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L4;}
 
918
      Py_DECREF(__pyx_4); __pyx_4 = 0;
 
919
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L4;}
 
920
      Py_INCREF(__pyx_v_pairs);
 
921
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_pairs);
 
922
      __pyx_6 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L4;}
 
923
      Py_DECREF(__pyx_1); __pyx_1 = 0;
 
924
      Py_DECREF(__pyx_3); __pyx_3 = 0;
 
925
      __pyx_r = __pyx_6;
 
926
      __pyx_6 = 0;
 
927
      goto __pyx_L3;
 
928
      goto __pyx_L18;
 
929
    }
 
930
    /*else*/ {
 
931
      Py_INCREF(Py_None);
 
932
      __pyx_r = Py_None;
 
933
      goto __pyx_L3;
 
934
    }
 
935
    __pyx_L18:;
 
936
  }
 
937
  /*finally:*/ {
 
938
    int __pyx_why;
 
939
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
940
    int __pyx_exc_lineno;
 
941
    __pyx_why = 0; goto __pyx_L5;
 
942
    __pyx_L3: __pyx_why = 3; goto __pyx_L5;
 
943
    __pyx_L4: {
 
944
      __pyx_why = 4;
 
945
      Py_XDECREF(__pyx_4); __pyx_4 = 0;
 
946
      Py_XDECREF(__pyx_1); __pyx_1 = 0;
 
947
      Py_XDECREF(__pyx_3); __pyx_3 = 0;
 
948
      Py_XDECREF(__pyx_6); __pyx_6 = 0;
 
949
      PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
 
950
      __pyx_exc_lineno = __pyx_lineno;
 
951
      goto __pyx_L5;
 
952
    }
 
953
    __pyx_L5:;
 
954
    free(__pyx_v_accum_value);
 
955
    switch (__pyx_why) {
 
956
      case 3: goto __pyx_L0;
 
957
      case 4: {
 
958
        PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
959
        __pyx_lineno = __pyx_exc_lineno;
 
960
        __pyx_exc_type = 0;
 
961
        __pyx_exc_value = 0;
 
962
        __pyx_exc_tb = 0;
 
963
        goto __pyx_L1;
 
964
      }
 
965
    }
 
966
  }
 
967
 
 
968
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
969
  goto __pyx_L0;
 
970
  __pyx_L1:;
 
971
  Py_XDECREF(__pyx_1);
 
972
  Py_XDECREF(__pyx_3);
 
973
  Py_XDECREF(__pyx_4);
 
974
  Py_XDECREF(__pyx_6);
 
975
  __Pyx_AddTraceback("_rio_pyx._read_stanza_unicode");
 
976
  __pyx_r = 0;
 
977
  __pyx_L0:;
 
978
  Py_DECREF(__pyx_v_pairs);
 
979
  Py_DECREF(__pyx_v_tag);
 
980
  Py_DECREF(__pyx_v_line);
 
981
  Py_DECREF(__pyx_v_unicode_iter);
 
982
  return __pyx_r;
 
983
}
 
984
 
 
985
static __Pyx_InternTabEntry __pyx_intern_tab[] = {
 
986
  {&__pyx_n_Stanza, "Stanza"},
 
987
  {&__pyx_n__valid_tag, "_valid_tag"},
 
988
  {&__pyx_n_from_pairs, "from_pairs"},
 
989
  {0, 0}
 
990
};
 
991
 
 
992
static __Pyx_StringTabEntry __pyx_string_tab[] = {
 
993
  {&__pyx_k1p, __pyx_k1, sizeof(__pyx_k1)},
 
994
  {&__pyx_k3p, __pyx_k3, sizeof(__pyx_k3)},
 
995
  {&__pyx_k4p, __pyx_k4, sizeof(__pyx_k4)},
 
996
  {&__pyx_k5p, __pyx_k5, sizeof(__pyx_k5)},
 
997
  {&__pyx_k7p, __pyx_k7, sizeof(__pyx_k7)},
 
998
  {&__pyx_k8p, __pyx_k8, sizeof(__pyx_k8)},
 
999
  {&__pyx_k9p, __pyx_k9, sizeof(__pyx_k9)},
 
1000
  {&__pyx_k11p, __pyx_k11, sizeof(__pyx_k11)},
 
1001
  {&__pyx_k13p, __pyx_k13, sizeof(__pyx_k13)},
 
1002
  {&__pyx_k14p, __pyx_k14, sizeof(__pyx_k14)},
 
1003
  {&__pyx_k15p, __pyx_k15, sizeof(__pyx_k15)},
 
1004
  {0, 0, 0}
 
1005
};
 
1006
 
 
1007
static struct PyMethodDef __pyx_methods[] = {
 
1008
  {"_valid_tag", (PyCFunction)__pyx_f_8_rio_pyx__valid_tag, METH_VARARGS|METH_KEYWORDS, 0},
 
1009
  {"_read_stanza_utf8", (PyCFunction)__pyx_f_8_rio_pyx__read_stanza_utf8, METH_VARARGS|METH_KEYWORDS, 0},
 
1010
  {"_read_stanza_unicode", (PyCFunction)__pyx_f_8_rio_pyx__read_stanza_unicode, METH_VARARGS|METH_KEYWORDS, 0},
 
1011
  {0, 0, 0, 0}
 
1012
};
 
1013
 
 
1014
static void __pyx_init_filenames(void); /*proto*/
 
1015
 
 
1016
PyMODINIT_FUNC init_rio_pyx(void); /*proto*/
 
1017
PyMODINIT_FUNC init_rio_pyx(void) {
 
1018
  PyObject *__pyx_1 = 0;
 
1019
  PyObject *__pyx_2 = 0;
 
1020
  __pyx_init_filenames();
 
1021
  __pyx_m = Py_InitModule4("_rio_pyx", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
 
1022
  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
 
1023
  Py_INCREF(__pyx_m);
 
1024
  __pyx_b = PyImport_AddModule("__builtin__");
 
1025
  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
 
1026
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
 
1027
  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
 
1028
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
 
1029
 
 
1030
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":50 */
 
1031
  __pyx_1 = PyList_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
 
1032
  Py_INCREF(__pyx_n_Stanza);
 
1033
  PyList_SET_ITEM(__pyx_1, 0, __pyx_n_Stanza);
 
1034
  __pyx_2 = __Pyx_Import(__pyx_k1p, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
 
1035
  Py_DECREF(__pyx_1); __pyx_1 = 0;
 
1036
  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_Stanza); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
 
1037
  if (PyObject_SetAttr(__pyx_m, __pyx_n_Stanza, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
 
1038
  Py_DECREF(__pyx_1); __pyx_1 = 0;
 
1039
  Py_DECREF(__pyx_2); __pyx_2 = 0;
 
1040
 
 
1041
  /* "/home/jml/src/bzr/bzr.1.16/bzrlib/_rio_pyx.pyx":158 */
 
1042
  return;
 
1043
  __pyx_L1:;
 
1044
  Py_XDECREF(__pyx_1);
 
1045
  Py_XDECREF(__pyx_2);
 
1046
  __Pyx_AddTraceback("_rio_pyx");
 
1047
}
 
1048
 
 
1049
static char *__pyx_filenames[] = {
 
1050
  "_rio_pyx.pyx",
 
1051
};
 
1052
 
 
1053
/* Runtime support code */
 
1054
 
 
1055
static void __pyx_init_filenames(void) {
 
1056
  __pyx_f = __pyx_filenames;
 
1057
}
 
1058
 
 
1059
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
 
1060
    PyObject *__import__ = 0;
 
1061
    PyObject *empty_list = 0;
 
1062
    PyObject *module = 0;
 
1063
    PyObject *global_dict = 0;
 
1064
    PyObject *empty_dict = 0;
 
1065
    PyObject *list;
 
1066
    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
 
1067
    if (!__import__)
 
1068
        goto bad;
 
1069
    if (from_list)
 
1070
        list = from_list;
 
1071
    else {
 
1072
        empty_list = PyList_New(0);
 
1073
        if (!empty_list)
 
1074
            goto bad;
 
1075
        list = empty_list;
 
1076
    }
 
1077
    global_dict = PyModule_GetDict(__pyx_m);
 
1078
    if (!global_dict)
 
1079
        goto bad;
 
1080
    empty_dict = PyDict_New();
 
1081
    if (!empty_dict)
 
1082
        goto bad;
 
1083
    module = PyObject_CallFunction(__import__, "OOOO",
 
1084
        name, global_dict, empty_dict, list);
 
1085
bad:
 
1086
    Py_XDECREF(empty_list);
 
1087
    Py_XDECREF(__import__);
 
1088
    Py_XDECREF(empty_dict);
 
1089
    return module;
 
1090
}
 
1091
 
 
1092
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 
1093
    Py_XINCREF(type);
 
1094
    Py_XINCREF(value);
 
1095
    Py_XINCREF(tb);
 
1096
    /* First, check the traceback argument, replacing None with NULL. */
 
1097
    if (tb == Py_None) {
 
1098
        Py_DECREF(tb);
 
1099
        tb = 0;
 
1100
    }
 
1101
    else if (tb != NULL && !PyTraceBack_Check(tb)) {
 
1102
        PyErr_SetString(PyExc_TypeError,
 
1103
            "raise: arg 3 must be a traceback or None");
 
1104
        goto raise_error;
 
1105
    }
 
1106
    /* Next, replace a missing value with None */
 
1107
    if (value == NULL) {
 
1108
        value = Py_None;
 
1109
        Py_INCREF(value);
 
1110
    }
 
1111
    #if PY_VERSION_HEX < 0x02050000
 
1112
    if (!PyClass_Check(type))
 
1113
    #else
 
1114
    if (!PyType_Check(type))
 
1115
    #endif
 
1116
    {
 
1117
        /* Raising an instance.  The value should be a dummy. */
 
1118
        if (value != Py_None) {
 
1119
            PyErr_SetString(PyExc_TypeError,
 
1120
                "instance exception may not have a separate value");
 
1121
            goto raise_error;
 
1122
        }
 
1123
        /* Normalize to raise <class>, <instance> */
 
1124
        Py_DECREF(value);
 
1125
        value = type;
 
1126
        #if PY_VERSION_HEX < 0x02050000
 
1127
            if (PyInstance_Check(type)) {
 
1128
                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
 
1129
                Py_INCREF(type);
 
1130
            }
 
1131
            else {
 
1132
                PyErr_SetString(PyExc_TypeError,
 
1133
                    "raise: exception must be an old-style class or instance");
 
1134
                goto raise_error;
 
1135
            }
 
1136
        #else
 
1137
            type = (PyObject*) type->ob_type;
 
1138
            Py_INCREF(type);
 
1139
            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
 
1140
                PyErr_SetString(PyExc_TypeError,
 
1141
                    "raise: exception class must be a subclass of BaseException");
 
1142
                goto raise_error;
 
1143
            }
 
1144
        #endif
 
1145
    }
 
1146
    PyErr_Restore(type, value, tb);
 
1147
    return;
 
1148
raise_error:
 
1149
    Py_XDECREF(value);
 
1150
    Py_XDECREF(type);
 
1151
    Py_XDECREF(tb);
 
1152
    return;
 
1153
}
 
1154
 
 
1155
static PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i) {
 
1156
    PyTypeObject *t = o->ob_type;
 
1157
    PyObject *r;
 
1158
    if (t->tp_as_sequence && t->tp_as_sequence->sq_item)
 
1159
        r = PySequence_GetItem(o, i);
 
1160
    else {
 
1161
        PyObject *j = PyInt_FromLong(i);
 
1162
        if (!j)
 
1163
            return 0;
 
1164
        r = PyObject_GetItem(o, j);
 
1165
        Py_DECREF(j);
 
1166
    }
 
1167
    return r;
 
1168
}
 
1169
 
 
1170
static int __Pyx_SetItemInt(PyObject *o, Py_ssize_t i, PyObject *v) {
 
1171
    PyTypeObject *t = o->ob_type;
 
1172
    int r;
 
1173
    if (t->tp_as_sequence && t->tp_as_sequence->sq_item)
 
1174
        r = PySequence_SetItem(o, i, v);
 
1175
    else {
 
1176
        PyObject *j = PyInt_FromLong(i);
 
1177
        if (!j)
 
1178
            return -1;
 
1179
        r = PyObject_SetItem(o, j, v);
 
1180
        Py_DECREF(j);
 
1181
    }
 
1182
    return r;
 
1183
}
 
1184
 
 
1185
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
 
1186
    PyObject *result;
 
1187
    result = PyObject_GetAttr(dict, name);
 
1188
    if (!result)
 
1189
        PyErr_SetObject(PyExc_NameError, name);
 
1190
    return result;
 
1191
}
 
1192
 
 
1193
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
 
1194
    while (t->p) {
 
1195
        *t->p = PyString_InternFromString(t->s);
 
1196
        if (!*t->p)
 
1197
            return -1;
 
1198
        ++t;
 
1199
    }
 
1200
    return 0;
 
1201
}
 
1202
 
 
1203
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 
1204
    while (t->p) {
 
1205
        *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
 
1206
        if (!*t->p)
 
1207
            return -1;
 
1208
        ++t;
 
1209
    }
 
1210
    return 0;
 
1211
}
 
1212
 
 
1213
#include "compile.h"
 
1214
#include "frameobject.h"
 
1215
#include "traceback.h"
 
1216
 
 
1217
static void __Pyx_AddTraceback(char *funcname) {
 
1218
    PyObject *py_srcfile = 0;
 
1219
    PyObject *py_funcname = 0;
 
1220
    PyObject *py_globals = 0;
 
1221
    PyObject *empty_tuple = 0;
 
1222
    PyObject *empty_string = 0;
 
1223
    PyCodeObject *py_code = 0;
 
1224
    PyFrameObject *py_frame = 0;
 
1225
    
 
1226
    py_srcfile = PyString_FromString(__pyx_filename);
 
1227
    if (!py_srcfile) goto bad;
 
1228
    py_funcname = PyString_FromString(funcname);
 
1229
    if (!py_funcname) goto bad;
 
1230
    py_globals = PyModule_GetDict(__pyx_m);
 
1231
    if (!py_globals) goto bad;
 
1232
    empty_tuple = PyTuple_New(0);
 
1233
    if (!empty_tuple) goto bad;
 
1234
    empty_string = PyString_FromString("");
 
1235
    if (!empty_string) goto bad;
 
1236
    py_code = PyCode_New(
 
1237
        0,            /*int argcount,*/
 
1238
        0,            /*int nlocals,*/
 
1239
        0,            /*int stacksize,*/
 
1240
        0,            /*int flags,*/
 
1241
        empty_string, /*PyObject *code,*/
 
1242
        empty_tuple,  /*PyObject *consts,*/
 
1243
        empty_tuple,  /*PyObject *names,*/
 
1244
        empty_tuple,  /*PyObject *varnames,*/
 
1245
        empty_tuple,  /*PyObject *freevars,*/
 
1246
        empty_tuple,  /*PyObject *cellvars,*/
 
1247
        py_srcfile,   /*PyObject *filename,*/
 
1248
        py_funcname,  /*PyObject *name,*/
 
1249
        __pyx_lineno,   /*int firstlineno,*/
 
1250
        empty_string  /*PyObject *lnotab*/
 
1251
    );
 
1252
    if (!py_code) goto bad;
 
1253
    py_frame = PyFrame_New(
 
1254
        PyThreadState_Get(), /*PyThreadState *tstate,*/
 
1255
        py_code,             /*PyCodeObject *code,*/
 
1256
        py_globals,          /*PyObject *globals,*/
 
1257
        0                    /*PyObject *locals*/
 
1258
    );
 
1259
    if (!py_frame) goto bad;
 
1260
    py_frame->f_lineno = __pyx_lineno;
 
1261
    PyTraceBack_Here(py_frame);
 
1262
bad:
 
1263
    Py_XDECREF(py_srcfile);
 
1264
    Py_XDECREF(py_funcname);
 
1265
    Py_XDECREF(empty_tuple);
 
1266
    Py_XDECREF(empty_string);
 
1267
    Py_XDECREF(py_code);
 
1268
    Py_XDECREF(py_frame);
 
1269
}