1
/* Generated by Pyrex 0.9.6.4 on Sat May 16 02:24:52 2009 */
3
#define PY_SSIZE_T_CLEAN
5
#include "structmember.h"
7
#define PY_LONG_LONG LONG_LONG
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)
25
#define __PYX_EXTERN_C extern "C"
27
#define __PYX_EXTERN_C extern
30
#include "python-compat.h"
34
#include "sys/types.h"
41
typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
42
typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
44
static PyObject *__pyx_m;
45
static PyObject *__pyx_b;
46
static int __pyx_lineno;
47
static char *__pyx_filename;
48
static char **__pyx_f;
50
static char __pyx_mdoc[] = "Wrapper for readdir which returns files ordered by inode.";
52
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
54
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
56
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
58
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
60
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
62
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
64
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
66
static void __Pyx_AddTraceback(char *funcname); /*proto*/
68
/* Declarations from _readdir_pyx */
70
struct __pyx_obj_12_readdir_pyx__Stat {
75
struct __pyx_obj_12_readdir_pyx_UTF8DirReader {
77
struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader *__pyx_vtab;
91
struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader {
92
PyObject *(*_kind_from_mode)(struct __pyx_obj_12_readdir_pyx_UTF8DirReader *,int);
94
static struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader *__pyx_vtabptr_12_readdir_pyx_UTF8DirReader;
96
static PyTypeObject *__pyx_ptype_12_readdir_pyx__Stat = 0;
97
static PyTypeObject *__pyx_ptype_12_readdir_pyx_UTF8DirReader = 0;
98
static PyObject *__pyx_k15;
99
static PyObject *__pyx_f_12_readdir_pyx__read_dir(PyObject *); /*proto*/
102
/* Implementation of _readdir_pyx */
104
static char __pyx_k14[] = "";
106
static PyObject *__pyx_n_os;
107
static PyObject *__pyx_n_sys;
108
static PyObject *__pyx_n__directory;
109
static PyObject *__pyx_n_directory;
110
static PyObject *__pyx_n__chardev;
111
static PyObject *__pyx_n_chardev;
112
static PyObject *__pyx_n__block;
113
static PyObject *__pyx_n_block;
114
static PyObject *__pyx_n__file;
115
static PyObject *__pyx_n_file;
116
static PyObject *__pyx_n__fifo;
117
static PyObject *__pyx_n_fifo;
118
static PyObject *__pyx_n__symlink;
119
static PyObject *__pyx_n_symlink;
120
static PyObject *__pyx_n__socket;
121
static PyObject *__pyx_n_socket;
122
static PyObject *__pyx_n__unknown;
123
static PyObject *__pyx_n_unknown;
124
static PyObject *__pyx_n__missing;
125
static PyObject *__pyx_n_missing;
126
static PyObject *__pyx_n_bzrlib;
127
static PyObject *__pyx_n_osutils;
129
static PyObject *__pyx_k14p;
131
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_6st_dev___get__(PyObject *__pyx_v_self); /*proto*/
132
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_6st_dev___get__(PyObject *__pyx_v_self) {
134
PyObject *__pyx_1 = 0;
135
Py_INCREF(__pyx_v_self);
136
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_dev); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; goto __pyx_L1;}
141
__pyx_r = Py_None; Py_INCREF(Py_None);
145
__Pyx_AddTraceback("_readdir_pyx._Stat.st_dev.__get__");
148
Py_DECREF(__pyx_v_self);
152
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_6st_ino___get__(PyObject *__pyx_v_self); /*proto*/
153
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_6st_ino___get__(PyObject *__pyx_v_self) {
155
PyObject *__pyx_1 = 0;
156
Py_INCREF(__pyx_v_self);
157
__pyx_1 = PyLong_FromUnsignedLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_ino); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; goto __pyx_L1;}
162
__pyx_r = Py_None; Py_INCREF(Py_None);
166
__Pyx_AddTraceback("_readdir_pyx._Stat.st_ino.__get__");
169
Py_DECREF(__pyx_v_self);
173
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_7st_mode___get__(PyObject *__pyx_v_self); /*proto*/
174
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_7st_mode___get__(PyObject *__pyx_v_self) {
176
PyObject *__pyx_1 = 0;
177
Py_INCREF(__pyx_v_self);
178
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; goto __pyx_L1;}
183
__pyx_r = Py_None; Py_INCREF(Py_None);
187
__Pyx_AddTraceback("_readdir_pyx._Stat.st_mode.__get__");
190
Py_DECREF(__pyx_v_self);
194
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_8st_ctime___get__(PyObject *__pyx_v_self); /*proto*/
195
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_8st_ctime___get__(PyObject *__pyx_v_self) {
197
PyObject *__pyx_1 = 0;
198
Py_INCREF(__pyx_v_self);
199
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_ctime); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; goto __pyx_L1;}
204
__pyx_r = Py_None; Py_INCREF(Py_None);
208
__Pyx_AddTraceback("_readdir_pyx._Stat.st_ctime.__get__");
211
Py_DECREF(__pyx_v_self);
215
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_8st_mtime___get__(PyObject *__pyx_v_self); /*proto*/
216
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_8st_mtime___get__(PyObject *__pyx_v_self) {
218
PyObject *__pyx_1 = 0;
219
Py_INCREF(__pyx_v_self);
220
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_mtime); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L1;}
225
__pyx_r = Py_None; Py_INCREF(Py_None);
229
__Pyx_AddTraceback("_readdir_pyx._Stat.st_mtime.__get__");
232
Py_DECREF(__pyx_v_self);
236
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_7st_size___get__(PyObject *__pyx_v_self); /*proto*/
237
static PyObject *__pyx_f_12_readdir_pyx_5_Stat_7st_size___get__(PyObject *__pyx_v_self) {
239
PyObject *__pyx_1 = 0;
240
Py_INCREF(__pyx_v_self);
241
__pyx_1 = PyLong_FromUnsignedLongLong(((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_size); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; goto __pyx_L1;}
246
__pyx_r = Py_None; Py_INCREF(Py_None);
250
__Pyx_AddTraceback("_readdir_pyx._Stat.st_size.__get__");
253
Py_DECREF(__pyx_v_self);
257
static PyObject *__pyx_n_st_mode;
258
static PyObject *__pyx_n_st_size;
259
static PyObject *__pyx_n__mtime;
260
static PyObject *__pyx_n__ctime;
262
static PyObject *__pyx_f_12_readdir_pyx_5_Stat___repr__(PyObject *__pyx_v_self); /*proto*/
263
static PyObject *__pyx_f_12_readdir_pyx_5_Stat___repr__(PyObject *__pyx_v_self) {
265
PyObject *__pyx_1 = 0;
266
PyObject *__pyx_2 = 0;
267
PyObject *__pyx_3 = 0;
268
PyObject *__pyx_4 = 0;
269
PyObject *__pyx_5 = 0;
270
PyObject *__pyx_6 = 0;
271
PyObject *__pyx_7 = 0;
272
PyObject *__pyx_8 = 0;
273
PyObject *__pyx_9 = 0;
274
PyObject *__pyx_10 = 0;
275
Py_INCREF(__pyx_v_self);
276
__pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
277
__pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
278
__pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
279
__pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
280
__pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
281
__pyx_6 = PyInt_FromLong(0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
282
__pyx_7 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_size); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
283
__pyx_8 = PyObject_GetAttr(__pyx_v_self, __pyx_n__mtime); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
284
__pyx_9 = PyObject_GetAttr(__pyx_v_self, __pyx_n__ctime); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
285
__pyx_10 = PyTuple_New(10); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
286
PyTuple_SET_ITEM(__pyx_10, 0, __pyx_1);
287
PyTuple_SET_ITEM(__pyx_10, 1, __pyx_2);
288
PyTuple_SET_ITEM(__pyx_10, 2, __pyx_3);
289
PyTuple_SET_ITEM(__pyx_10, 3, __pyx_4);
290
PyTuple_SET_ITEM(__pyx_10, 4, __pyx_5);
291
PyTuple_SET_ITEM(__pyx_10, 5, __pyx_6);
292
PyTuple_SET_ITEM(__pyx_10, 6, __pyx_7);
294
PyTuple_SET_ITEM(__pyx_10, 7, Py_None);
295
PyTuple_SET_ITEM(__pyx_10, 8, __pyx_8);
296
PyTuple_SET_ITEM(__pyx_10, 9, __pyx_9);
306
__pyx_1 = PyObject_Repr(__pyx_10); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; goto __pyx_L1;}
307
Py_DECREF(__pyx_10); __pyx_10 = 0;
312
__pyx_r = Py_None; Py_INCREF(Py_None);
324
Py_XDECREF(__pyx_10);
325
__Pyx_AddTraceback("_readdir_pyx._Stat.__repr__");
328
Py_DECREF(__pyx_v_self);
332
static PyObject *__pyx_n_safe_utf8;
334
static int __pyx_f_12_readdir_pyx_13UTF8DirReader___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
335
static int __pyx_f_12_readdir_pyx_13UTF8DirReader___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
337
PyObject *__pyx_1 = 0;
338
PyObject *__pyx_2 = 0;
339
static char *__pyx_argnames[] = {0};
340
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return -1;
341
Py_INCREF(__pyx_v_self);
343
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":172 */
344
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_osutils); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; goto __pyx_L1;}
345
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_safe_utf8); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; goto __pyx_L1;}
346
Py_DECREF(__pyx_1); __pyx_1 = 0;
347
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8);
348
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8 = __pyx_2;
351
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":173 */
352
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__directory); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
353
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_directory);
354
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_directory = __pyx_1;
357
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":174 */
358
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__chardev); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;}
359
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_chardev);
360
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_chardev = __pyx_2;
363
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":175 */
364
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__block); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L1;}
365
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_block);
366
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_block = __pyx_1;
369
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":176 */
370
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__file); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; goto __pyx_L1;}
371
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_file);
372
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_file = __pyx_2;
375
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":177 */
376
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__fifo); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; goto __pyx_L1;}
377
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_fifo);
378
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_fifo = __pyx_1;
381
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":178 */
382
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__symlink); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; goto __pyx_L1;}
383
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_symlink);
384
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_symlink = __pyx_2;
387
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":179 */
388
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__socket); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L1;}
389
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_socket);
390
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_socket = __pyx_1;
393
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":180 */
394
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__unknown); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L1;}
395
Py_DECREF(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_unknown);
396
((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_unknown = __pyx_2;
404
__Pyx_AddTraceback("_readdir_pyx.UTF8DirReader.__init__");
407
Py_DECREF(__pyx_v_self);
411
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_kind_from_mode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
412
static char __pyx_doc_12_readdir_pyx_13UTF8DirReader_kind_from_mode[] = "Get the kind of a path from a mode status.";
413
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_kind_from_mode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
416
PyObject *__pyx_1 = 0;
417
static char *__pyx_argnames[] = {"mode",0};
418
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "i", __pyx_argnames, &__pyx_v_mode)) return 0;
419
Py_INCREF(__pyx_v_self);
420
__pyx_1 = ((struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader *)((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->__pyx_vtab)->_kind_from_mode(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self),__pyx_v_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; goto __pyx_L1;}
425
__pyx_r = Py_None; Py_INCREF(Py_None);
429
__Pyx_AddTraceback("_readdir_pyx.UTF8DirReader.kind_from_mode");
432
Py_DECREF(__pyx_v_self);
436
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader__kind_from_mode(struct __pyx_obj_12_readdir_pyx_UTF8DirReader *__pyx_v_self,int __pyx_v_mode) {
439
Py_INCREF(__pyx_v_self);
441
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":188 */
442
__pyx_1 = S_ISREG(__pyx_v_mode);
444
Py_INCREF(__pyx_v_self->_file);
445
__pyx_r = __pyx_v_self->_file;
451
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":190 */
452
__pyx_1 = S_ISDIR(__pyx_v_mode);
454
Py_INCREF(__pyx_v_self->_directory);
455
__pyx_r = __pyx_v_self->_directory;
461
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":192 */
462
__pyx_1 = S_ISCHR(__pyx_v_mode);
464
Py_INCREF(__pyx_v_self->_chardev);
465
__pyx_r = __pyx_v_self->_chardev;
471
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":194 */
472
__pyx_1 = S_ISBLK(__pyx_v_mode);
474
Py_INCREF(__pyx_v_self->_block);
475
__pyx_r = __pyx_v_self->_block;
481
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":196 */
482
__pyx_1 = S_ISLNK(__pyx_v_mode);
484
Py_INCREF(__pyx_v_self->_symlink);
485
__pyx_r = __pyx_v_self->_symlink;
491
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":198 */
492
__pyx_1 = S_ISFIFO(__pyx_v_mode);
494
Py_INCREF(__pyx_v_self->_fifo);
495
__pyx_r = __pyx_v_self->_fifo;
501
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":200 */
502
__pyx_1 = S_ISSOCK(__pyx_v_mode);
504
Py_INCREF(__pyx_v_self->_socket);
505
__pyx_r = __pyx_v_self->_socket;
511
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":202 */
512
Py_INCREF(__pyx_v_self->_unknown);
513
__pyx_r = __pyx_v_self->_unknown;
516
__pyx_r = Py_None; Py_INCREF(Py_None);
518
Py_DECREF(__pyx_v_self);
522
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
523
static char __pyx_doc_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir[] = "See DirReader.top_prefix_to_starting_dir.";
524
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
525
PyObject *__pyx_v_top = 0;
526
PyObject *__pyx_v_prefix = 0;
528
PyObject *__pyx_1 = 0;
529
PyObject *__pyx_2 = 0;
530
PyObject *__pyx_3 = 0;
531
static char *__pyx_argnames[] = {"top","prefix",0};
532
__pyx_v_prefix = __pyx_k15;
533
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|O", __pyx_argnames, &__pyx_v_top, &__pyx_v_prefix)) return 0;
534
Py_INCREF(__pyx_v_self);
535
Py_INCREF(__pyx_v_top);
536
Py_INCREF(__pyx_v_prefix);
537
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; goto __pyx_L1;}
538
Py_INCREF(__pyx_v_prefix);
539
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_prefix);
540
__pyx_2 = PyObject_CallObject(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; goto __pyx_L1;}
541
Py_DECREF(__pyx_1); __pyx_1 = 0;
542
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
543
Py_INCREF(__pyx_v_top);
544
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_top);
545
__pyx_3 = PyObject_CallObject(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
546
Py_DECREF(__pyx_1); __pyx_1 = 0;
547
__pyx_1 = PyTuple_New(5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; goto __pyx_L1;}
548
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
550
PyTuple_SET_ITEM(__pyx_1, 1, Py_None);
552
PyTuple_SET_ITEM(__pyx_1, 2, Py_None);
554
PyTuple_SET_ITEM(__pyx_1, 3, Py_None);
555
PyTuple_SET_ITEM(__pyx_1, 4, __pyx_3);
562
__pyx_r = Py_None; Py_INCREF(Py_None);
568
__Pyx_AddTraceback("_readdir_pyx.UTF8DirReader.top_prefix_to_starting_dir");
571
Py_DECREF(__pyx_v_self);
572
Py_DECREF(__pyx_v_top);
573
Py_DECREF(__pyx_v_prefix);
577
static PyObject *__pyx_n_Exception;
579
static PyObject *__pyx_k16p;
580
static PyObject *__pyx_k17p;
581
static PyObject *__pyx_k18p;
582
static PyObject *__pyx_k19p;
583
static PyObject *__pyx_k20p;
585
static char __pyx_k16[] = "/";
586
static char __pyx_k17[] = "";
587
static char __pyx_k18[] = "/";
588
static char __pyx_k19[] = "failed to strcat";
589
static char __pyx_k20[] = "failed to strcat";
591
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_read_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
592
static char __pyx_doc_12_readdir_pyx_13UTF8DirReader_read_dir[] = "Read a single directory from a utf8 file system.\n\n All paths in and out are utf8.\n\n This sub-function is called when we know the filesystem is already in utf8\n encoding. So we don\'t need to transcode filenames.\n\n See DirReader.read_dir for details.\n ";
593
static PyObject *__pyx_f_12_readdir_pyx_13UTF8DirReader_read_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
594
PyObject *__pyx_v_prefix = 0;
595
PyObject *__pyx_v_top = 0;
596
PyObject *__pyx_v_newval;
599
void *__pyx_v_atuple;
600
PyObject *__pyx_v_name;
601
PyObject *__pyx_v_new_val_obj;
602
PyObject *__pyx_v_relprefix;
603
PyObject *__pyx_v_top_slash;
604
PyObject *__pyx_v_result;
607
PyObject *__pyx_2 = 0;
609
PyObject *__pyx_4 = 0;
610
PyObject *__pyx_5 = 0;
611
static char *__pyx_argnames[] = {"prefix","top",0};
612
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_prefix, &__pyx_v_top)) return 0;
613
Py_INCREF(__pyx_v_self);
614
Py_INCREF(__pyx_v_prefix);
615
Py_INCREF(__pyx_v_top);
616
__pyx_v_newval = Py_None; Py_INCREF(Py_None);
617
__pyx_v_name = Py_None; Py_INCREF(Py_None);
618
__pyx_v_relprefix = Py_None; Py_INCREF(Py_None);
619
__pyx_v_top_slash = Py_None; Py_INCREF(Py_None);
620
__pyx_v_result = Py_None; Py_INCREF(Py_None);
622
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":229 */
623
__pyx_1 = PyString_Size(__pyx_v_prefix);
625
__pyx_2 = PyNumber_Add(__pyx_v_prefix, __pyx_k16p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
626
Py_DECREF(__pyx_v_relprefix);
627
__pyx_v_relprefix = __pyx_2;
632
Py_INCREF(__pyx_k17p);
633
Py_DECREF(__pyx_v_relprefix);
634
__pyx_v_relprefix = __pyx_k17p;
638
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":233 */
639
__pyx_2 = PyNumber_Add(__pyx_v_top, __pyx_k18p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
640
Py_DECREF(__pyx_v_top_slash);
641
__pyx_v_top_slash = __pyx_2;
644
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":237 */
645
__pyx_2 = __pyx_f_12_readdir_pyx__read_dir(__pyx_v_top); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; goto __pyx_L1;}
646
Py_DECREF(__pyx_v_result);
647
__pyx_v_result = __pyx_2;
650
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":238 */
651
__pyx_1 = PyObject_Length(__pyx_v_result); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; goto __pyx_L1;}
652
__pyx_v_length = __pyx_1;
654
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":240 */
655
for (__pyx_v_index = 0; __pyx_v_index < __pyx_v_length; ++__pyx_v_index) {
657
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":241 */
658
__pyx_v_atuple = PyList_GET_ITEM(__pyx_v_result,__pyx_v_index);
660
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":242 */
661
__pyx_2 = (PyObject *)PyTuple_GET_ITEM(__pyx_v_atuple,1);
663
Py_DECREF(__pyx_v_name);
664
__pyx_v_name = __pyx_2;
667
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":247 */
668
__pyx_v_new_val_obj = ((PyObject *)__pyx_v_relprefix);
670
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":248 */
671
Py_INCREF(__pyx_v_relprefix);
673
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":249 */
674
PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
676
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":250 */
677
__pyx_3 = (NULL == __pyx_v_new_val_obj);
679
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; goto __pyx_L1;}
680
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; goto __pyx_L1;}
681
Py_INCREF(__pyx_k19p);
682
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k19p);
683
__pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; goto __pyx_L1;}
684
Py_DECREF(__pyx_2); __pyx_2 = 0;
685
Py_DECREF(__pyx_4); __pyx_4 = 0;
686
__Pyx_Raise(__pyx_5, 0, 0);
687
Py_DECREF(__pyx_5); __pyx_5 = 0;
688
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; goto __pyx_L1;}
693
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":254 */
694
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,0,__pyx_v_new_val_obj); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L1;}
696
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":256 */
697
__pyx_2 = (PyObject *)PyTuple_GET_ITEM(__pyx_v_atuple,3);
699
__pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_st_mode); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
700
Py_DECREF(__pyx_2); __pyx_2 = 0;
701
__pyx_3 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
702
Py_DECREF(__pyx_4); __pyx_4 = 0;
703
__pyx_5 = ((struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader *)((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->__pyx_vtab)->_kind_from_mode(((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)__pyx_v_self),__pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; goto __pyx_L1;}
704
Py_DECREF(__pyx_v_newval);
705
__pyx_v_newval = __pyx_5;
708
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":258 */
709
Py_INCREF(__pyx_v_newval);
711
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":259 */
712
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,2,__pyx_v_newval); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; goto __pyx_L1;}
714
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":263 */
715
__pyx_v_new_val_obj = ((PyObject *)__pyx_v_top_slash);
717
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":264 */
718
Py_INCREF(__pyx_v_top_slash);
720
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":265 */
721
PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
723
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":266 */
724
__pyx_3 = (NULL == __pyx_v_new_val_obj);
726
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; goto __pyx_L1;}
727
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; goto __pyx_L1;}
728
Py_INCREF(__pyx_k20p);
729
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k20p);
730
__pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; goto __pyx_L1;}
731
Py_DECREF(__pyx_2); __pyx_2 = 0;
732
Py_DECREF(__pyx_4); __pyx_4 = 0;
733
__Pyx_Raise(__pyx_5, 0, 0);
734
Py_DECREF(__pyx_5); __pyx_5 = 0;
735
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; goto __pyx_L1;}
740
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":270 */
741
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,4,__pyx_v_new_val_obj); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; goto __pyx_L1;}
744
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":271 */
745
Py_INCREF(__pyx_v_result);
746
__pyx_r = __pyx_v_result;
749
__pyx_r = Py_None; Py_INCREF(Py_None);
755
__Pyx_AddTraceback("_readdir_pyx.UTF8DirReader.read_dir");
758
Py_DECREF(__pyx_v_newval);
759
Py_DECREF(__pyx_v_name);
760
Py_DECREF(__pyx_v_relprefix);
761
Py_DECREF(__pyx_v_top_slash);
762
Py_DECREF(__pyx_v_result);
763
Py_DECREF(__pyx_v_self);
764
Py_DECREF(__pyx_v_prefix);
765
Py_DECREF(__pyx_v_top);
769
static PyObject *__pyx_n_OSError;
770
static PyObject *__pyx_n_True;
771
static PyObject *__pyx_n_False;
773
static PyObject *__pyx_k21p;
774
static PyObject *__pyx_k22p;
775
static PyObject *__pyx_k24p;
776
static PyObject *__pyx_k25p;
777
static PyObject *__pyx_k26p;
778
static PyObject *__pyx_k28p;
779
static PyObject *__pyx_k29p;
780
static PyObject *__pyx_k30p;
781
static PyObject *__pyx_k31p;
782
static PyObject *__pyx_k32p;
783
static PyObject *__pyx_k33p;
785
static char __pyx_k21[] = "";
786
static char __pyx_k22[] = ".";
787
static char __pyx_k23[] = ".";
788
static char __pyx_k24[] = "open: ";
789
static char __pyx_k25[] = ".";
790
static char __pyx_k26[] = "chdir: ";
791
static char __pyx_k27[] = ".";
792
static char __pyx_k28[] = "opendir: ";
793
static char __pyx_k29[] = "readdir: ";
794
static char __pyx_k30[] = "lstat: ";
795
static char __pyx_k31[] = "/";
796
static char __pyx_k32[] = "closedir: ";
797
static char __pyx_k33[] = "return to orig_dir: ";
799
static PyObject *__pyx_f_12_readdir_pyx__read_dir(PyObject *__pyx_v_path) {
800
DIR *__pyx_v_the_dir;
801
dirent *__pyx_v_entry;
802
dirent __pyx_v_sentinel;
804
int __pyx_v_stat_result;
805
struct __pyx_obj_12_readdir_pyx__Stat *__pyx_v_statvalue;
806
int __pyx_v_orig_dir_fd;
807
PyObject *__pyx_v_result;
808
PyObject *__pyx_v_kind;
809
PyObject *__pyx_v_failed;
812
PyObject *__pyx_2 = 0;
813
PyObject *__pyx_3 = 0;
814
PyObject *__pyx_4 = 0;
815
PyObject *__pyx_5 = 0;
818
PyObject *__pyx_8 = 0;
819
PyObject *__pyx_9 = 0;
820
Py_INCREF(__pyx_v_path);
821
__pyx_v_statvalue = ((struct __pyx_obj_12_readdir_pyx__Stat *)Py_None); Py_INCREF(Py_None);
822
__pyx_v_result = Py_None; Py_INCREF(Py_None);
823
__pyx_v_kind = Py_None; Py_INCREF(Py_None);
824
__pyx_v_failed = Py_None; Py_INCREF(Py_None);
826
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":295 */
827
if (PyObject_Cmp(__pyx_v_path, __pyx_k21p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; goto __pyx_L1;}
828
__pyx_1 = __pyx_1 != 0;
830
if (PyObject_Cmp(__pyx_v_path, __pyx_k22p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; goto __pyx_L1;}
831
__pyx_1 = __pyx_1 != 0;
835
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":299 */
836
__pyx_v_orig_dir_fd = open(__pyx_k23,O_RDONLY,0);
838
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":300 */
839
__pyx_1 = (__pyx_v_orig_dir_fd == (-1));
841
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
842
__pyx_3 = PyInt_FromLong(errno); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
843
__pyx_4 = PyString_FromString(strerror(errno)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
844
__pyx_5 = PyNumber_Add(__pyx_k24p, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
845
Py_DECREF(__pyx_4); __pyx_4 = 0;
846
__pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
847
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
848
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_5);
849
Py_INCREF(__pyx_k25p);
850
PyTuple_SET_ITEM(__pyx_4, 2, __pyx_k25p);
853
__pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
854
Py_DECREF(__pyx_2); __pyx_2 = 0;
855
Py_DECREF(__pyx_4); __pyx_4 = 0;
856
__Pyx_Raise(__pyx_3, 0, 0);
857
Py_DECREF(__pyx_3); __pyx_3 = 0;
858
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
863
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":302 */
864
__pyx_6 = PyString_AsString(__pyx_v_path); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; goto __pyx_L1;}
865
__pyx_1 = ((-1) == chdir(__pyx_6));
867
__pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
868
__pyx_2 = PyInt_FromLong(errno); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
869
__pyx_4 = PyString_FromString(strerror(errno)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
870
__pyx_3 = PyNumber_Add(__pyx_k26p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
871
Py_DECREF(__pyx_4); __pyx_4 = 0;
872
__pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
873
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
874
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
875
Py_INCREF(__pyx_v_path);
876
PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_path);
879
__pyx_2 = PyObject_CallObject(__pyx_5, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
880
Py_DECREF(__pyx_5); __pyx_5 = 0;
881
Py_DECREF(__pyx_4); __pyx_4 = 0;
882
__Pyx_Raise(__pyx_2, 0, 0);
883
Py_DECREF(__pyx_2); __pyx_2 = 0;
884
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; goto __pyx_L1;}
891
__pyx_v_orig_dir_fd = (-1);
895
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":307 */
898
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":308 */
899
__pyx_v_the_dir = opendir(__pyx_k27);
901
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":309 */
902
__pyx_1 = (NULL == __pyx_v_the_dir);
904
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
905
__pyx_5 = PyInt_FromLong(errno); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
906
__pyx_4 = PyString_FromString(strerror(errno)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
907
__pyx_2 = PyNumber_Add(__pyx_k28p, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
908
Py_DECREF(__pyx_4); __pyx_4 = 0;
909
__pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
910
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_5);
911
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_2);
912
Py_INCREF(__pyx_v_path);
913
PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_path);
916
__pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
917
Py_DECREF(__pyx_3); __pyx_3 = 0;
918
Py_DECREF(__pyx_4); __pyx_4 = 0;
919
__Pyx_Raise(__pyx_5, 0, 0);
920
Py_DECREF(__pyx_5); __pyx_5 = 0;
921
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; goto __pyx_L6;}
926
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":311 */
929
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":312 */
930
__pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; goto __pyx_L10;}
931
Py_DECREF(__pyx_v_result);
932
__pyx_v_result = __pyx_2;
935
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":313 */
936
__pyx_v_entry = (&__pyx_v_sentinel);
938
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":314 */
940
__pyx_1 = (__pyx_v_entry != NULL);
943
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":318 */
945
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L10;}
946
__pyx_1 = PyObject_IsTrue(__pyx_3); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; goto __pyx_L10;}
947
Py_DECREF(__pyx_3); __pyx_3 = 0;
950
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":319 */
953
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":320 */
954
__pyx_v_entry = readdir(__pyx_v_the_dir);
956
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":321 */
957
__pyx_1 = (__pyx_v_entry == NULL);
959
__pyx_1 = (errno == EAGAIN);
961
__pyx_1 = (errno == EINTR);
976
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":326 */
977
__pyx_1 = (__pyx_v_entry == NULL);
979
__pyx_1 = (errno == ENOTDIR);
981
__pyx_1 = (errno == 0);
988
__pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
989
__pyx_5 = PyInt_FromLong(errno); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
990
__pyx_2 = PyString_FromString(strerror(errno)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
991
__pyx_3 = PyNumber_Add(__pyx_k29p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
992
Py_DECREF(__pyx_2); __pyx_2 = 0;
993
__pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
994
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_5);
995
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
996
Py_INCREF(__pyx_v_path);
997
PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_path);
1000
__pyx_5 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
1001
Py_DECREF(__pyx_4); __pyx_4 = 0;
1002
Py_DECREF(__pyx_2); __pyx_2 = 0;
1003
__Pyx_Raise(__pyx_5, 0, 0);
1004
Py_DECREF(__pyx_5); __pyx_5 = 0;
1005
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
1012
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":334 */
1013
__pyx_v_name = __pyx_v_entry->d_name;
1015
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":335 */
1016
__pyx_1 = ((__pyx_v_name[0]) == '.');
1018
__pyx_1 = ((__pyx_v_name[1]) == 0);
1020
__pyx_1 = ((__pyx_v_name[1]) == '.');
1022
__pyx_1 = ((__pyx_v_name[2]) == 0);
1026
__pyx_7 = (!__pyx_1);
1029
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":339 */
1030
__pyx_3 = PyObject_CallObject(((PyObject*)__pyx_ptype_12_readdir_pyx__Stat), 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; goto __pyx_L10;}
1031
if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_12_readdir_pyx__Stat)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; goto __pyx_L10;}
1032
Py_DECREF(((PyObject *)__pyx_v_statvalue));
1033
__pyx_v_statvalue = ((struct __pyx_obj_12_readdir_pyx__Stat *)__pyx_3);
1036
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":340 */
1037
__pyx_v_stat_result = lstat(__pyx_v_entry->d_name,(&__pyx_v_statvalue->_st));
1039
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":341 */
1040
__pyx_1 = (__pyx_v_stat_result != 0);
1042
__pyx_7 = (errno != ENOENT);
1044
__pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1045
__pyx_2 = PyInt_FromLong(errno); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1046
__pyx_5 = PyString_FromString(strerror(errno)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1047
__pyx_3 = PyNumber_Add(__pyx_k30p, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1048
Py_DECREF(__pyx_5); __pyx_5 = 0;
1049
__pyx_5 = PyNumber_Add(__pyx_v_path, __pyx_k31p); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; goto __pyx_L10;}
1050
__pyx_8 = PyString_FromString(__pyx_v_entry->d_name); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; goto __pyx_L10;}
1051
__pyx_9 = PyNumber_Add(__pyx_5, __pyx_8); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; goto __pyx_L10;}
1052
Py_DECREF(__pyx_5); __pyx_5 = 0;
1053
Py_DECREF(__pyx_8); __pyx_8 = 0;
1054
__pyx_5 = PyTuple_New(3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1055
PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
1056
PyTuple_SET_ITEM(__pyx_5, 1, __pyx_3);
1057
PyTuple_SET_ITEM(__pyx_5, 2, __pyx_9);
1061
__pyx_8 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1062
Py_DECREF(__pyx_4); __pyx_4 = 0;
1063
Py_DECREF(__pyx_5); __pyx_5 = 0;
1064
__Pyx_Raise(__pyx_8, 0, 0);
1065
Py_DECREF(__pyx_8); __pyx_8 = 0;
1066
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; goto __pyx_L10;}
1071
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":346 */
1072
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__missing); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; goto __pyx_L10;}
1073
Py_DECREF(__pyx_v_kind);
1074
__pyx_v_kind = __pyx_2;
1077
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":347 */
1079
Py_DECREF(((PyObject *)__pyx_v_statvalue));
1080
__pyx_v_statvalue = ((struct __pyx_obj_12_readdir_pyx__Stat *)Py_None);
1087
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":355 */
1088
__pyx_3 = PyLong_FromUnsignedLong(__pyx_v_entry->d_ino); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; goto __pyx_L10;}
1089
__pyx_9 = PyString_FromString(__pyx_v_entry->d_name); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; goto __pyx_L10;}
1090
__pyx_4 = PyTuple_New(5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; goto __pyx_L10;}
1091
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
1092
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_9);
1094
PyTuple_SET_ITEM(__pyx_4, 2, Py_None);
1095
Py_INCREF(((PyObject *)__pyx_v_statvalue));
1096
PyTuple_SET_ITEM(__pyx_4, 3, ((PyObject *)__pyx_v_statvalue));
1098
PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
1101
__pyx_1 = PyList_Append(__pyx_v_result,__pyx_4); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; goto __pyx_L10;}
1102
Py_DECREF(__pyx_4); __pyx_4 = 0;
1111
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
1112
int __pyx_exc_lineno;
1113
__pyx_why = 0; goto __pyx_L11;
1116
Py_XDECREF(__pyx_5); __pyx_5 = 0;
1117
Py_XDECREF(__pyx_8); __pyx_8 = 0;
1118
Py_XDECREF(__pyx_2); __pyx_2 = 0;
1119
Py_XDECREF(__pyx_3); __pyx_3 = 0;
1120
Py_XDECREF(__pyx_9); __pyx_9 = 0;
1121
Py_XDECREF(__pyx_4); __pyx_4 = 0;
1122
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1123
__pyx_exc_lineno = __pyx_lineno;
1127
__pyx_7 = ((-1) == closedir(__pyx_v_the_dir));
1129
__pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1130
__pyx_8 = PyInt_FromLong(errno); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1131
__pyx_2 = PyString_FromString(strerror(errno)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1132
__pyx_3 = PyNumber_Add(__pyx_k32p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1133
Py_DECREF(__pyx_2); __pyx_2 = 0;
1134
__pyx_9 = PyTuple_New(3); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1135
PyTuple_SET_ITEM(__pyx_9, 0, __pyx_8);
1136
PyTuple_SET_ITEM(__pyx_9, 1, __pyx_3);
1137
Py_INCREF(__pyx_v_path);
1138
PyTuple_SET_ITEM(__pyx_9, 2, __pyx_v_path);
1141
__pyx_4 = PyObject_CallObject(__pyx_5, __pyx_9); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1142
Py_DECREF(__pyx_5); __pyx_5 = 0;
1143
Py_DECREF(__pyx_9); __pyx_9 = 0;
1144
__Pyx_Raise(__pyx_4, 0, 0);
1145
Py_DECREF(__pyx_4); __pyx_4 = 0;
1146
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; goto __pyx_L22;}
1152
if (__pyx_why == 4) {
1153
Py_XDECREF(__pyx_exc_type);
1154
Py_XDECREF(__pyx_exc_value);
1155
Py_XDECREF(__pyx_exc_tb);
1159
switch (__pyx_why) {
1161
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1162
__pyx_lineno = __pyx_exc_lineno;
1164
__pyx_exc_value = 0;
1173
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
1174
int __pyx_exc_lineno;
1175
__pyx_why = 0; goto __pyx_L7;
1178
Py_XDECREF(__pyx_2); __pyx_2 = 0;
1179
Py_XDECREF(__pyx_8); __pyx_8 = 0;
1180
Py_XDECREF(__pyx_3); __pyx_3 = 0;
1181
Py_XDECREF(__pyx_5); __pyx_5 = 0;
1182
Py_XDECREF(__pyx_9); __pyx_9 = 0;
1183
Py_XDECREF(__pyx_4); __pyx_4 = 0;
1184
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1185
__pyx_exc_lineno = __pyx_lineno;
1189
__pyx_1 = ((-1) != __pyx_v_orig_dir_fd);
1192
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":362 */
1193
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; goto __pyx_L25;}
1194
Py_DECREF(__pyx_v_failed);
1195
__pyx_v_failed = __pyx_2;
1198
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":363 */
1199
__pyx_7 = ((-1) == fchdir(__pyx_v_orig_dir_fd));
1201
__pyx_8 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; goto __pyx_L25;}
1202
Py_DECREF(__pyx_v_failed);
1203
__pyx_v_failed = __pyx_8;
1209
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":366 */
1210
__pyx_3 = PyInt_FromLong(((-1) == close(__pyx_v_orig_dir_fd))); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; goto __pyx_L25;}
1211
__pyx_1 = PyObject_IsTrue(__pyx_3); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; goto __pyx_L25;}
1213
Py_DECREF(__pyx_3); __pyx_3 = 0;
1214
__pyx_3 = __pyx_v_failed;
1217
__pyx_7 = PyObject_IsTrue(__pyx_3); if (__pyx_7 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; goto __pyx_L25;}
1218
Py_DECREF(__pyx_3); __pyx_3 = 0;
1220
__pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_OSError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1221
__pyx_9 = PyInt_FromLong(errno); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1222
__pyx_4 = PyString_FromString(strerror(errno)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1223
__pyx_2 = PyNumber_Add(__pyx_k33p, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1224
Py_DECREF(__pyx_4); __pyx_4 = 0;
1225
__pyx_8 = PyTuple_New(2); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1226
PyTuple_SET_ITEM(__pyx_8, 0, __pyx_9);
1227
PyTuple_SET_ITEM(__pyx_8, 1, __pyx_2);
1230
__pyx_3 = PyObject_CallObject(__pyx_5, __pyx_8); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1231
Py_DECREF(__pyx_5); __pyx_5 = 0;
1232
Py_DECREF(__pyx_8); __pyx_8 = 0;
1233
__Pyx_Raise(__pyx_3, 0, 0);
1234
Py_DECREF(__pyx_3); __pyx_3 = 0;
1235
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L25;}
1244
if (__pyx_why == 4) {
1245
Py_XDECREF(__pyx_exc_type);
1246
Py_XDECREF(__pyx_exc_value);
1247
Py_XDECREF(__pyx_exc_tb);
1251
switch (__pyx_why) {
1253
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1254
__pyx_lineno = __pyx_exc_lineno;
1256
__pyx_exc_value = 0;
1263
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":369 */
1264
Py_INCREF(__pyx_v_result);
1265
__pyx_r = __pyx_v_result;
1268
__pyx_r = Py_None; Py_INCREF(Py_None);
1271
Py_XDECREF(__pyx_2);
1272
Py_XDECREF(__pyx_3);
1273
Py_XDECREF(__pyx_4);
1274
Py_XDECREF(__pyx_5);
1275
Py_XDECREF(__pyx_8);
1276
Py_XDECREF(__pyx_9);
1277
__Pyx_AddTraceback("_readdir_pyx._read_dir");
1280
Py_DECREF(__pyx_v_statvalue);
1281
Py_DECREF(__pyx_v_result);
1282
Py_DECREF(__pyx_v_kind);
1283
Py_DECREF(__pyx_v_failed);
1284
Py_DECREF(__pyx_v_path);
1288
static __Pyx_InternTabEntry __pyx_intern_tab[] = {
1289
{&__pyx_n_Exception, "Exception"},
1290
{&__pyx_n_False, "False"},
1291
{&__pyx_n_OSError, "OSError"},
1292
{&__pyx_n_True, "True"},
1293
{&__pyx_n__block, "_block"},
1294
{&__pyx_n__chardev, "_chardev"},
1295
{&__pyx_n__ctime, "_ctime"},
1296
{&__pyx_n__directory, "_directory"},
1297
{&__pyx_n__fifo, "_fifo"},
1298
{&__pyx_n__file, "_file"},
1299
{&__pyx_n__missing, "_missing"},
1300
{&__pyx_n__mtime, "_mtime"},
1301
{&__pyx_n__socket, "_socket"},
1302
{&__pyx_n__symlink, "_symlink"},
1303
{&__pyx_n__unknown, "_unknown"},
1304
{&__pyx_n_block, "block"},
1305
{&__pyx_n_bzrlib, "bzrlib"},
1306
{&__pyx_n_chardev, "chardev"},
1307
{&__pyx_n_directory, "directory"},
1308
{&__pyx_n_fifo, "fifo"},
1309
{&__pyx_n_file, "file"},
1310
{&__pyx_n_missing, "missing"},
1311
{&__pyx_n_os, "os"},
1312
{&__pyx_n_osutils, "osutils"},
1313
{&__pyx_n_safe_utf8, "safe_utf8"},
1314
{&__pyx_n_socket, "socket"},
1315
{&__pyx_n_st_mode, "st_mode"},
1316
{&__pyx_n_st_size, "st_size"},
1317
{&__pyx_n_symlink, "symlink"},
1318
{&__pyx_n_sys, "sys"},
1319
{&__pyx_n_unknown, "unknown"},
1323
static __Pyx_StringTabEntry __pyx_string_tab[] = {
1324
{&__pyx_k14p, __pyx_k14, sizeof(__pyx_k14)},
1325
{&__pyx_k16p, __pyx_k16, sizeof(__pyx_k16)},
1326
{&__pyx_k17p, __pyx_k17, sizeof(__pyx_k17)},
1327
{&__pyx_k18p, __pyx_k18, sizeof(__pyx_k18)},
1328
{&__pyx_k19p, __pyx_k19, sizeof(__pyx_k19)},
1329
{&__pyx_k20p, __pyx_k20, sizeof(__pyx_k20)},
1330
{&__pyx_k21p, __pyx_k21, sizeof(__pyx_k21)},
1331
{&__pyx_k22p, __pyx_k22, sizeof(__pyx_k22)},
1332
{&__pyx_k24p, __pyx_k24, sizeof(__pyx_k24)},
1333
{&__pyx_k25p, __pyx_k25, sizeof(__pyx_k25)},
1334
{&__pyx_k26p, __pyx_k26, sizeof(__pyx_k26)},
1335
{&__pyx_k28p, __pyx_k28, sizeof(__pyx_k28)},
1336
{&__pyx_k29p, __pyx_k29, sizeof(__pyx_k29)},
1337
{&__pyx_k30p, __pyx_k30, sizeof(__pyx_k30)},
1338
{&__pyx_k31p, __pyx_k31, sizeof(__pyx_k31)},
1339
{&__pyx_k32p, __pyx_k32, sizeof(__pyx_k32)},
1340
{&__pyx_k33p, __pyx_k33, sizeof(__pyx_k33)},
1344
static PyObject *__pyx_tp_new_12_readdir_pyx__Stat(PyTypeObject *t, PyObject *a, PyObject *k) {
1345
PyObject *o = (*t->tp_alloc)(t, 0);
1350
static void __pyx_tp_dealloc_12_readdir_pyx__Stat(PyObject *o) {
1351
(*o->ob_type->tp_free)(o);
1354
static int __pyx_tp_traverse_12_readdir_pyx__Stat(PyObject *o, visitproc v, void *a) {
1358
static int __pyx_tp_clear_12_readdir_pyx__Stat(PyObject *o) {
1362
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_dev(PyObject *o, void *x) {
1363
return __pyx_f_12_readdir_pyx_5_Stat_6st_dev___get__(o);
1366
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_ino(PyObject *o, void *x) {
1367
return __pyx_f_12_readdir_pyx_5_Stat_6st_ino___get__(o);
1370
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_mode(PyObject *o, void *x) {
1371
return __pyx_f_12_readdir_pyx_5_Stat_7st_mode___get__(o);
1374
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_ctime(PyObject *o, void *x) {
1375
return __pyx_f_12_readdir_pyx_5_Stat_8st_ctime___get__(o);
1378
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_mtime(PyObject *o, void *x) {
1379
return __pyx_f_12_readdir_pyx_5_Stat_8st_mtime___get__(o);
1382
static PyObject *__pyx_getprop_12_readdir_pyx_5_Stat_st_size(PyObject *o, void *x) {
1383
return __pyx_f_12_readdir_pyx_5_Stat_7st_size___get__(o);
1386
static struct PyMethodDef __pyx_methods_12_readdir_pyx__Stat[] = {
1390
static struct PyGetSetDef __pyx_getsets_12_readdir_pyx__Stat[] = {
1391
{"st_dev", __pyx_getprop_12_readdir_pyx_5_Stat_st_dev, 0, 0, 0},
1392
{"st_ino", __pyx_getprop_12_readdir_pyx_5_Stat_st_ino, 0, 0, 0},
1393
{"st_mode", __pyx_getprop_12_readdir_pyx_5_Stat_st_mode, 0, 0, 0},
1394
{"st_ctime", __pyx_getprop_12_readdir_pyx_5_Stat_st_ctime, 0, 0, 0},
1395
{"st_mtime", __pyx_getprop_12_readdir_pyx_5_Stat_st_mtime, 0, 0, 0},
1396
{"st_size", __pyx_getprop_12_readdir_pyx_5_Stat_st_size, 0, 0, 0},
1400
static PyNumberMethods __pyx_tp_as_number__Stat = {
1424
0, /*nb_inplace_add*/
1425
0, /*nb_inplace_subtract*/
1426
0, /*nb_inplace_multiply*/
1427
0, /*nb_inplace_divide*/
1428
0, /*nb_inplace_remainder*/
1429
0, /*nb_inplace_power*/
1430
0, /*nb_inplace_lshift*/
1431
0, /*nb_inplace_rshift*/
1432
0, /*nb_inplace_and*/
1433
0, /*nb_inplace_xor*/
1434
0, /*nb_inplace_or*/
1435
0, /*nb_floor_divide*/
1436
0, /*nb_true_divide*/
1437
0, /*nb_inplace_floor_divide*/
1438
0, /*nb_inplace_true_divide*/
1439
#if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
1444
static PySequenceMethods __pyx_tp_as_sequence__Stat = {
1453
0, /*sq_inplace_concat*/
1454
0, /*sq_inplace_repeat*/
1457
static PyMappingMethods __pyx_tp_as_mapping__Stat = {
1460
0, /*mp_ass_subscript*/
1463
static PyBufferProcs __pyx_tp_as_buffer__Stat = {
1464
0, /*bf_getreadbuffer*/
1465
0, /*bf_getwritebuffer*/
1466
0, /*bf_getsegcount*/
1467
0, /*bf_getcharbuffer*/
1470
PyTypeObject __pyx_type_12_readdir_pyx__Stat = {
1471
PyObject_HEAD_INIT(0)
1473
"_readdir_pyx._Stat", /*tp_name*/
1474
sizeof(struct __pyx_obj_12_readdir_pyx__Stat), /*tp_basicsize*/
1476
__pyx_tp_dealloc_12_readdir_pyx__Stat, /*tp_dealloc*/
1481
__pyx_f_12_readdir_pyx_5_Stat___repr__, /*tp_repr*/
1482
&__pyx_tp_as_number__Stat, /*tp_as_number*/
1483
&__pyx_tp_as_sequence__Stat, /*tp_as_sequence*/
1484
&__pyx_tp_as_mapping__Stat, /*tp_as_mapping*/
1490
&__pyx_tp_as_buffer__Stat, /*tp_as_buffer*/
1491
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
1492
"Represent a \'stat\' result.", /*tp_doc*/
1493
__pyx_tp_traverse_12_readdir_pyx__Stat, /*tp_traverse*/
1494
__pyx_tp_clear_12_readdir_pyx__Stat, /*tp_clear*/
1495
0, /*tp_richcompare*/
1496
0, /*tp_weaklistoffset*/
1499
__pyx_methods_12_readdir_pyx__Stat, /*tp_methods*/
1501
__pyx_getsets_12_readdir_pyx__Stat, /*tp_getset*/
1506
0, /*tp_dictoffset*/
1509
__pyx_tp_new_12_readdir_pyx__Stat, /*tp_new*/
1515
0, /*tp_subclasses*/
1518
static struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader __pyx_vtable_12_readdir_pyx_UTF8DirReader;
1520
static PyObject *__pyx_tp_new_12_readdir_pyx_UTF8DirReader(PyTypeObject *t, PyObject *a, PyObject *k) {
1521
struct __pyx_obj_12_readdir_pyx_UTF8DirReader *p;
1522
PyObject *o = (*t->tp_alloc)(t, 0);
1524
p = ((struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)o);
1525
*(struct __pyx_vtabstruct_12_readdir_pyx_UTF8DirReader **)&p->__pyx_vtab = __pyx_vtabptr_12_readdir_pyx_UTF8DirReader;
1526
p->_safe_utf8 = Py_None; Py_INCREF(Py_None);
1527
p->_directory = Py_None; Py_INCREF(Py_None);
1528
p->_chardev = Py_None; Py_INCREF(Py_None);
1529
p->_block = Py_None; Py_INCREF(Py_None);
1530
p->_file = Py_None; Py_INCREF(Py_None);
1531
p->_fifo = Py_None; Py_INCREF(Py_None);
1532
p->_symlink = Py_None; Py_INCREF(Py_None);
1533
p->_socket = Py_None; Py_INCREF(Py_None);
1534
p->_unknown = Py_None; Py_INCREF(Py_None);
1538
static void __pyx_tp_dealloc_12_readdir_pyx_UTF8DirReader(PyObject *o) {
1539
struct __pyx_obj_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)o;
1540
Py_XDECREF(p->_safe_utf8);
1541
Py_XDECREF(p->_directory);
1542
Py_XDECREF(p->_chardev);
1543
Py_XDECREF(p->_block);
1544
Py_XDECREF(p->_file);
1545
Py_XDECREF(p->_fifo);
1546
Py_XDECREF(p->_symlink);
1547
Py_XDECREF(p->_socket);
1548
Py_XDECREF(p->_unknown);
1549
(*o->ob_type->tp_free)(o);
1552
static int __pyx_tp_traverse_12_readdir_pyx_UTF8DirReader(PyObject *o, visitproc v, void *a) {
1554
struct __pyx_obj_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)o;
1555
if (p->_safe_utf8) {
1556
e = (*v)(p->_safe_utf8, a); if (e) return e;
1558
if (p->_directory) {
1559
e = (*v)(p->_directory, a); if (e) return e;
1562
e = (*v)(p->_chardev, a); if (e) return e;
1565
e = (*v)(p->_block, a); if (e) return e;
1568
e = (*v)(p->_file, a); if (e) return e;
1571
e = (*v)(p->_fifo, a); if (e) return e;
1574
e = (*v)(p->_symlink, a); if (e) return e;
1577
e = (*v)(p->_socket, a); if (e) return e;
1580
e = (*v)(p->_unknown, a); if (e) return e;
1585
static int __pyx_tp_clear_12_readdir_pyx_UTF8DirReader(PyObject *o) {
1586
struct __pyx_obj_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_12_readdir_pyx_UTF8DirReader *)o;
1587
Py_XDECREF(p->_safe_utf8);
1588
p->_safe_utf8 = Py_None; Py_INCREF(Py_None);
1589
Py_XDECREF(p->_directory);
1590
p->_directory = Py_None; Py_INCREF(Py_None);
1591
Py_XDECREF(p->_chardev);
1592
p->_chardev = Py_None; Py_INCREF(Py_None);
1593
Py_XDECREF(p->_block);
1594
p->_block = Py_None; Py_INCREF(Py_None);
1595
Py_XDECREF(p->_file);
1596
p->_file = Py_None; Py_INCREF(Py_None);
1597
Py_XDECREF(p->_fifo);
1598
p->_fifo = Py_None; Py_INCREF(Py_None);
1599
Py_XDECREF(p->_symlink);
1600
p->_symlink = Py_None; Py_INCREF(Py_None);
1601
Py_XDECREF(p->_socket);
1602
p->_socket = Py_None; Py_INCREF(Py_None);
1603
Py_XDECREF(p->_unknown);
1604
p->_unknown = Py_None; Py_INCREF(Py_None);
1608
static struct PyMethodDef __pyx_methods_12_readdir_pyx_UTF8DirReader[] = {
1609
{"kind_from_mode", (PyCFunction)__pyx_f_12_readdir_pyx_13UTF8DirReader_kind_from_mode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12_readdir_pyx_13UTF8DirReader_kind_from_mode},
1610
{"top_prefix_to_starting_dir", (PyCFunction)__pyx_f_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir},
1611
{"read_dir", (PyCFunction)__pyx_f_12_readdir_pyx_13UTF8DirReader_read_dir, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12_readdir_pyx_13UTF8DirReader_read_dir},
1615
static struct PyMemberDef __pyx_members_12_readdir_pyx_UTF8DirReader[] = {
1616
{"_safe_utf8", T_OBJECT, offsetof(struct __pyx_obj_12_readdir_pyx_UTF8DirReader, _safe_utf8), READONLY, 0},
1620
static PyNumberMethods __pyx_tp_as_number_UTF8DirReader = {
1644
0, /*nb_inplace_add*/
1645
0, /*nb_inplace_subtract*/
1646
0, /*nb_inplace_multiply*/
1647
0, /*nb_inplace_divide*/
1648
0, /*nb_inplace_remainder*/
1649
0, /*nb_inplace_power*/
1650
0, /*nb_inplace_lshift*/
1651
0, /*nb_inplace_rshift*/
1652
0, /*nb_inplace_and*/
1653
0, /*nb_inplace_xor*/
1654
0, /*nb_inplace_or*/
1655
0, /*nb_floor_divide*/
1656
0, /*nb_true_divide*/
1657
0, /*nb_inplace_floor_divide*/
1658
0, /*nb_inplace_true_divide*/
1659
#if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
1664
static PySequenceMethods __pyx_tp_as_sequence_UTF8DirReader = {
1673
0, /*sq_inplace_concat*/
1674
0, /*sq_inplace_repeat*/
1677
static PyMappingMethods __pyx_tp_as_mapping_UTF8DirReader = {
1680
0, /*mp_ass_subscript*/
1683
static PyBufferProcs __pyx_tp_as_buffer_UTF8DirReader = {
1684
0, /*bf_getreadbuffer*/
1685
0, /*bf_getwritebuffer*/
1686
0, /*bf_getsegcount*/
1687
0, /*bf_getcharbuffer*/
1690
PyTypeObject __pyx_type_12_readdir_pyx_UTF8DirReader = {
1691
PyObject_HEAD_INIT(0)
1693
"_readdir_pyx.UTF8DirReader", /*tp_name*/
1694
sizeof(struct __pyx_obj_12_readdir_pyx_UTF8DirReader), /*tp_basicsize*/
1696
__pyx_tp_dealloc_12_readdir_pyx_UTF8DirReader, /*tp_dealloc*/
1702
&__pyx_tp_as_number_UTF8DirReader, /*tp_as_number*/
1703
&__pyx_tp_as_sequence_UTF8DirReader, /*tp_as_sequence*/
1704
&__pyx_tp_as_mapping_UTF8DirReader, /*tp_as_mapping*/
1710
&__pyx_tp_as_buffer_UTF8DirReader, /*tp_as_buffer*/
1711
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
1712
"A dir reader for utf8 file systems.", /*tp_doc*/
1713
__pyx_tp_traverse_12_readdir_pyx_UTF8DirReader, /*tp_traverse*/
1714
__pyx_tp_clear_12_readdir_pyx_UTF8DirReader, /*tp_clear*/
1715
0, /*tp_richcompare*/
1716
0, /*tp_weaklistoffset*/
1719
__pyx_methods_12_readdir_pyx_UTF8DirReader, /*tp_methods*/
1720
__pyx_members_12_readdir_pyx_UTF8DirReader, /*tp_members*/
1726
0, /*tp_dictoffset*/
1727
__pyx_f_12_readdir_pyx_13UTF8DirReader___init__, /*tp_init*/
1729
__pyx_tp_new_12_readdir_pyx_UTF8DirReader, /*tp_new*/
1735
0, /*tp_subclasses*/
1739
static struct PyMethodDef __pyx_methods[] = {
1743
static void __pyx_init_filenames(void); /*proto*/
1745
PyMODINIT_FUNC init_readdir_pyx(void); /*proto*/
1746
PyMODINIT_FUNC init_readdir_pyx(void) {
1747
PyObject *__pyx_1 = 0;
1748
PyObject *__pyx_2 = 0;
1749
__pyx_init_filenames();
1750
__pyx_m = Py_InitModule4("_readdir_pyx", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
1751
if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1753
__pyx_b = PyImport_AddModule("__builtin__");
1754
if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1755
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1756
if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1757
if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1758
if (PyType_Ready(&__pyx_type_12_readdir_pyx__Stat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; goto __pyx_L1;}
1759
if (PyObject_SetAttrString(__pyx_m, "_Stat", (PyObject *)&__pyx_type_12_readdir_pyx__Stat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; goto __pyx_L1;}
1760
__pyx_ptype_12_readdir_pyx__Stat = &__pyx_type_12_readdir_pyx__Stat;
1761
__pyx_vtabptr_12_readdir_pyx_UTF8DirReader = &__pyx_vtable_12_readdir_pyx_UTF8DirReader;
1762
*(void(**)(void))&__pyx_vtable_12_readdir_pyx_UTF8DirReader._kind_from_mode = (void(*)(void))__pyx_f_12_readdir_pyx_13UTF8DirReader__kind_from_mode;
1763
__pyx_type_12_readdir_pyx_UTF8DirReader.tp_free = _PyObject_GC_Del;
1764
if (PyType_Ready(&__pyx_type_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; goto __pyx_L1;}
1765
if (__Pyx_SetVtable(__pyx_type_12_readdir_pyx_UTF8DirReader.tp_dict, __pyx_vtabptr_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; goto __pyx_L1;}
1766
if (PyObject_SetAttrString(__pyx_m, "UTF8DirReader", (PyObject *)&__pyx_type_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; goto __pyx_L1;}
1767
__pyx_ptype_12_readdir_pyx_UTF8DirReader = &__pyx_type_12_readdir_pyx_UTF8DirReader;
1769
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":20 */
1770
__pyx_1 = __Pyx_Import(__pyx_n_os, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
1771
if (PyObject_SetAttr(__pyx_m, __pyx_n_os, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
1772
Py_DECREF(__pyx_1); __pyx_1 = 0;
1774
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":21 */
1775
__pyx_1 = __Pyx_Import(__pyx_n_sys, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
1776
if (PyObject_SetAttr(__pyx_m, __pyx_n_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
1777
Py_DECREF(__pyx_1); __pyx_1 = 0;
1779
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":108 */
1780
if (PyObject_SetAttr(__pyx_m, __pyx_n__directory, __pyx_n_directory) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;}
1782
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":109 */
1783
if (PyObject_SetAttr(__pyx_m, __pyx_n__chardev, __pyx_n_chardev) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; goto __pyx_L1;}
1785
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":110 */
1786
if (PyObject_SetAttr(__pyx_m, __pyx_n__block, __pyx_n_block) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; goto __pyx_L1;}
1788
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":111 */
1789
if (PyObject_SetAttr(__pyx_m, __pyx_n__file, __pyx_n_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
1791
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":112 */
1792
if (PyObject_SetAttr(__pyx_m, __pyx_n__fifo, __pyx_n_fifo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;}
1794
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":113 */
1795
if (PyObject_SetAttr(__pyx_m, __pyx_n__symlink, __pyx_n_symlink) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
1797
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":114 */
1798
if (PyObject_SetAttr(__pyx_m, __pyx_n__socket, __pyx_n_socket) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; goto __pyx_L1;}
1800
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":115 */
1801
if (PyObject_SetAttr(__pyx_m, __pyx_n__unknown, __pyx_n_unknown) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;}
1803
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":116 */
1804
if (PyObject_SetAttr(__pyx_m, __pyx_n__missing, __pyx_n_missing) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
1806
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":161 */
1807
__pyx_1 = PyList_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; goto __pyx_L1;}
1808
Py_INCREF(__pyx_n_osutils);
1809
PyList_SET_ITEM(__pyx_1, 0, __pyx_n_osutils);
1810
__pyx_2 = __Pyx_Import(__pyx_n_bzrlib, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; goto __pyx_L1;}
1811
Py_DECREF(__pyx_1); __pyx_1 = 0;
1812
__pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_osutils); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; goto __pyx_L1;}
1813
if (PyObject_SetAttr(__pyx_m, __pyx_n_osutils, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; goto __pyx_L1;}
1814
Py_DECREF(__pyx_1); __pyx_1 = 0;
1815
Py_DECREF(__pyx_2); __pyx_2 = 0;
1817
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":204 */
1818
Py_INCREF(__pyx_k14p);
1819
__pyx_k15 = __pyx_k14p;
1821
/* "/tmp/bzr.1.15/bzrlib/_readdir_pyx.pyx":274 */
1824
Py_XDECREF(__pyx_1);
1825
Py_XDECREF(__pyx_2);
1826
__Pyx_AddTraceback("_readdir_pyx");
1829
static char *__pyx_filenames[] = {
1833
/* Runtime support code */
1835
static void __pyx_init_filenames(void) {
1836
__pyx_f = __pyx_filenames;
1839
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
1840
PyObject *__import__ = 0;
1841
PyObject *empty_list = 0;
1842
PyObject *module = 0;
1843
PyObject *global_dict = 0;
1844
PyObject *empty_dict = 0;
1846
__import__ = PyObject_GetAttrString(__pyx_b, "__import__");
1852
empty_list = PyList_New(0);
1857
global_dict = PyModule_GetDict(__pyx_m);
1860
empty_dict = PyDict_New();
1863
module = PyObject_CallFunction(__import__, "OOOO",
1864
name, global_dict, empty_dict, list);
1866
Py_XDECREF(empty_list);
1867
Py_XDECREF(__import__);
1868
Py_XDECREF(empty_dict);
1872
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
1874
result = PyObject_GetAttr(dict, name);
1876
PyErr_SetObject(PyExc_NameError, name);
1880
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
1884
/* First, check the traceback argument, replacing None with NULL. */
1885
if (tb == Py_None) {
1889
else if (tb != NULL && !PyTraceBack_Check(tb)) {
1890
PyErr_SetString(PyExc_TypeError,
1891
"raise: arg 3 must be a traceback or None");
1894
/* Next, replace a missing value with None */
1895
if (value == NULL) {
1899
#if PY_VERSION_HEX < 0x02050000
1900
if (!PyClass_Check(type))
1902
if (!PyType_Check(type))
1905
/* Raising an instance. The value should be a dummy. */
1906
if (value != Py_None) {
1907
PyErr_SetString(PyExc_TypeError,
1908
"instance exception may not have a separate value");
1911
/* Normalize to raise <class>, <instance> */
1914
#if PY_VERSION_HEX < 0x02050000
1915
if (PyInstance_Check(type)) {
1916
type = (PyObject*) ((PyInstanceObject*)type)->in_class;
1920
PyErr_SetString(PyExc_TypeError,
1921
"raise: exception must be an old-style class or instance");
1925
type = (PyObject*) type->ob_type;
1927
if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
1928
PyErr_SetString(PyExc_TypeError,
1929
"raise: exception class must be a subclass of BaseException");
1934
PyErr_Restore(type, value, tb);
1943
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
1945
PyErr_Format(PyExc_SystemError, "Missing type object");
1948
if (obj == Py_None || PyObject_TypeCheck(obj, type))
1950
PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s",
1951
obj->ob_type->tp_name, type->tp_name);
1955
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
1957
*t->p = PyString_InternFromString(t->s);
1965
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
1967
*t->p = PyString_FromStringAndSize(t->s, t->n - 1);
1975
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
1976
PyObject *pycobj = 0;
1979
pycobj = PyCObject_FromVoidPtr(vtable, 0);
1982
if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
1994
#include "compile.h"
1995
#include "frameobject.h"
1996
#include "traceback.h"
1998
static void __Pyx_AddTraceback(char *funcname) {
1999
PyObject *py_srcfile = 0;
2000
PyObject *py_funcname = 0;
2001
PyObject *py_globals = 0;
2002
PyObject *empty_tuple = 0;
2003
PyObject *empty_string = 0;
2004
PyCodeObject *py_code = 0;
2005
PyFrameObject *py_frame = 0;
2007
py_srcfile = PyString_FromString(__pyx_filename);
2008
if (!py_srcfile) goto bad;
2009
py_funcname = PyString_FromString(funcname);
2010
if (!py_funcname) goto bad;
2011
py_globals = PyModule_GetDict(__pyx_m);
2012
if (!py_globals) goto bad;
2013
empty_tuple = PyTuple_New(0);
2014
if (!empty_tuple) goto bad;
2015
empty_string = PyString_FromString("");
2016
if (!empty_string) goto bad;
2017
py_code = PyCode_New(
2018
0, /*int argcount,*/
2020
0, /*int stacksize,*/
2022
empty_string, /*PyObject *code,*/
2023
empty_tuple, /*PyObject *consts,*/
2024
empty_tuple, /*PyObject *names,*/
2025
empty_tuple, /*PyObject *varnames,*/
2026
empty_tuple, /*PyObject *freevars,*/
2027
empty_tuple, /*PyObject *cellvars,*/
2028
py_srcfile, /*PyObject *filename,*/
2029
py_funcname, /*PyObject *name,*/
2030
__pyx_lineno, /*int firstlineno,*/
2031
empty_string /*PyObject *lnotab*/
2033
if (!py_code) goto bad;
2034
py_frame = PyFrame_New(
2035
PyThreadState_Get(), /*PyThreadState *tstate,*/
2036
py_code, /*PyCodeObject *code,*/
2037
py_globals, /*PyObject *globals,*/
2038
0 /*PyObject *locals*/
2040
if (!py_frame) goto bad;
2041
py_frame->f_lineno = __pyx_lineno;
2042
PyTraceBack_Here(py_frame);
2044
Py_XDECREF(py_srcfile);
2045
Py_XDECREF(py_funcname);
2046
Py_XDECREF(empty_tuple);
2047
Py_XDECREF(empty_string);
2048
Py_XDECREF(py_code);
2049
Py_XDECREF(py_frame);