1
/* Generated by Pyrex 0.9.8.5 on Fri May 28 05:02:04 2010 */
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)
16
#if !defined(WIN32) && !defined(MS_WINDOWS)
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; int i; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
43
static PyObject *__pyx_m;
44
static PyObject *__pyx_b;
45
static int __pyx_lineno;
46
static char *__pyx_filename;
47
static char **__pyx_f;
49
static char __pyx_mdoc[] = "Wrapper for readdir which returns files ordered by inode.";
51
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
53
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
55
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
57
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
59
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
61
static void __Pyx_AddTraceback(char *funcname); /*proto*/
63
/* Declarations from bzrlib._readdir_pyx */
66
/* Declarations from implementation of bzrlib._readdir_pyx */
68
struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat {
73
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader {
75
struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *__pyx_vtab;
89
struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader {
90
PyObject *(*_kind_from_mode)(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *,int);
92
static struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *__pyx_vtabptr_6bzrlib_12_readdir_pyx_UTF8DirReader;
94
static PyTypeObject *__pyx_ptype_6bzrlib_12_readdir_pyx__Stat = 0;
95
static PyTypeObject *__pyx_ptype_6bzrlib_12_readdir_pyx_UTF8DirReader = 0;
96
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(int,char *,PyObject *); /*proto*/
97
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx__read_dir(PyObject *); /*proto*/
99
static char __pyx_k1[] = "st_mode";
100
static char __pyx_k2[] = "st_size";
101
static char __pyx_k3[] = "st_mtime";
102
static char __pyx_k4[] = "st_ctime";
103
static char __pyx_k5[] = "osutils";
104
static char __pyx_k6[] = "safe_utf8";
105
static char __pyx_k7[] = "_directory";
106
static char __pyx_k8[] = "_chardev";
107
static char __pyx_k9[] = "_block";
108
static char __pyx_k10[] = "_file";
109
static char __pyx_k11[] = "_fifo";
110
static char __pyx_k12[] = "_symlink";
111
static char __pyx_k13[] = "_socket";
112
static char __pyx_k14[] = "_unknown";
113
static char __pyx_k15[] = "/";
114
static char __pyx_k16[] = "";
115
static char __pyx_k17[] = "failed to strcat";
116
static char __pyx_k18[] = ".";
117
static char __pyx_k19[] = "open: ";
118
static char __pyx_k20[] = "chdir: ";
119
static char __pyx_k21[] = "opendir: ";
120
static char __pyx_k22[] = "readdir: ";
121
static char __pyx_k23[] = "lstat: ";
122
static char __pyx_k24[] = "closedir: ";
123
static char __pyx_k25[] = "return to orig_dir: ";
124
static char __pyx_k26[] = "os";
125
static char __pyx_k27[] = "sys";
126
static char __pyx_k28[] = "directory";
127
static char __pyx_k29[] = "chardev";
128
static char __pyx_k30[] = "block";
129
static char __pyx_k31[] = "file";
130
static char __pyx_k32[] = "fifo";
131
static char __pyx_k33[] = "symlink";
132
static char __pyx_k34[] = "socket";
133
static char __pyx_k35[] = "unknown";
134
static char __pyx_k36[] = "missing";
135
static char __pyx_k37[] = "_missing";
136
static char __pyx_k38[] = "bzrlib";
138
static PyObject *__pyx_n__block;
139
static PyObject *__pyx_n__chardev;
140
static PyObject *__pyx_n__directory;
141
static PyObject *__pyx_n__fifo;
142
static PyObject *__pyx_n__file;
143
static PyObject *__pyx_n__missing;
144
static PyObject *__pyx_n__socket;
145
static PyObject *__pyx_n__symlink;
146
static PyObject *__pyx_n__unknown;
147
static PyObject *__pyx_n_block;
148
static PyObject *__pyx_n_bzrlib;
149
static PyObject *__pyx_n_chardev;
150
static PyObject *__pyx_n_directory;
151
static PyObject *__pyx_n_fifo;
152
static PyObject *__pyx_n_file;
153
static PyObject *__pyx_n_missing;
154
static PyObject *__pyx_n_os;
155
static PyObject *__pyx_n_osutils;
156
static PyObject *__pyx_n_safe_utf8;
157
static PyObject *__pyx_n_socket;
158
static PyObject *__pyx_n_st_ctime;
159
static PyObject *__pyx_n_st_mode;
160
static PyObject *__pyx_n_st_mtime;
161
static PyObject *__pyx_n_st_size;
162
static PyObject *__pyx_n_symlink;
163
static PyObject *__pyx_n_sys;
164
static PyObject *__pyx_n_unknown;
166
static PyObject *__pyx_k15p;
167
static PyObject *__pyx_k16p;
168
static PyObject *__pyx_k17p;
169
static PyObject *__pyx_k18p;
171
static __Pyx_StringTabEntry __pyx_string_tab[] = {
172
{&__pyx_n__block, 1, __pyx_k9, sizeof(__pyx_k9)},
173
{&__pyx_n__chardev, 1, __pyx_k8, sizeof(__pyx_k8)},
174
{&__pyx_n__directory, 1, __pyx_k7, sizeof(__pyx_k7)},
175
{&__pyx_n__fifo, 1, __pyx_k11, sizeof(__pyx_k11)},
176
{&__pyx_n__file, 1, __pyx_k10, sizeof(__pyx_k10)},
177
{&__pyx_n__missing, 1, __pyx_k37, sizeof(__pyx_k37)},
178
{&__pyx_n__socket, 1, __pyx_k13, sizeof(__pyx_k13)},
179
{&__pyx_n__symlink, 1, __pyx_k12, sizeof(__pyx_k12)},
180
{&__pyx_n__unknown, 1, __pyx_k14, sizeof(__pyx_k14)},
181
{&__pyx_n_block, 1, __pyx_k30, sizeof(__pyx_k30)},
182
{&__pyx_n_bzrlib, 1, __pyx_k38, sizeof(__pyx_k38)},
183
{&__pyx_n_chardev, 1, __pyx_k29, sizeof(__pyx_k29)},
184
{&__pyx_n_directory, 1, __pyx_k28, sizeof(__pyx_k28)},
185
{&__pyx_n_fifo, 1, __pyx_k32, sizeof(__pyx_k32)},
186
{&__pyx_n_file, 1, __pyx_k31, sizeof(__pyx_k31)},
187
{&__pyx_n_missing, 1, __pyx_k36, sizeof(__pyx_k36)},
188
{&__pyx_n_os, 1, __pyx_k26, sizeof(__pyx_k26)},
189
{&__pyx_n_osutils, 1, __pyx_k5, sizeof(__pyx_k5)},
190
{&__pyx_n_safe_utf8, 1, __pyx_k6, sizeof(__pyx_k6)},
191
{&__pyx_n_socket, 1, __pyx_k34, sizeof(__pyx_k34)},
192
{&__pyx_n_st_ctime, 1, __pyx_k4, sizeof(__pyx_k4)},
193
{&__pyx_n_st_mode, 1, __pyx_k1, sizeof(__pyx_k1)},
194
{&__pyx_n_st_mtime, 1, __pyx_k3, sizeof(__pyx_k3)},
195
{&__pyx_n_st_size, 1, __pyx_k2, sizeof(__pyx_k2)},
196
{&__pyx_n_symlink, 1, __pyx_k33, sizeof(__pyx_k33)},
197
{&__pyx_n_sys, 1, __pyx_k27, sizeof(__pyx_k27)},
198
{&__pyx_n_unknown, 1, __pyx_k35, sizeof(__pyx_k35)},
199
{&__pyx_k15p, 0, __pyx_k15, sizeof(__pyx_k15)},
200
{&__pyx_k16p, 0, __pyx_k16, sizeof(__pyx_k16)},
201
{&__pyx_k17p, 0, __pyx_k17, sizeof(__pyx_k17)},
202
{&__pyx_k18p, 0, __pyx_k18, sizeof(__pyx_k18)},
206
static PyObject *__pyx_d1;
209
/* Implementation of bzrlib._readdir_pyx */
211
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_dev___get__(PyObject *__pyx_v_self); /*proto*/
212
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_dev___get__(PyObject *__pyx_v_self) {
214
PyObject *__pyx_1 = 0;
215
Py_INCREF(__pyx_v_self);
216
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_dev); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; goto __pyx_L1;}
221
__pyx_r = Py_None; Py_INCREF(Py_None);
225
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_dev.__get__");
228
Py_DECREF(__pyx_v_self);
232
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_ino___get__(PyObject *__pyx_v_self); /*proto*/
233
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_ino___get__(PyObject *__pyx_v_self) {
235
PyObject *__pyx_1 = 0;
236
Py_INCREF(__pyx_v_self);
237
__pyx_1 = PyLong_FromUnsignedLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_ino); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; goto __pyx_L1;}
242
__pyx_r = Py_None; Py_INCREF(Py_None);
246
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_ino.__get__");
249
Py_DECREF(__pyx_v_self);
253
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_mode___get__(PyObject *__pyx_v_self); /*proto*/
254
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_mode___get__(PyObject *__pyx_v_self) {
256
PyObject *__pyx_1 = 0;
257
Py_INCREF(__pyx_v_self);
258
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; goto __pyx_L1;}
263
__pyx_r = Py_None; Py_INCREF(Py_None);
267
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_mode.__get__");
270
Py_DECREF(__pyx_v_self);
274
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_ctime___get__(PyObject *__pyx_v_self); /*proto*/
275
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_ctime___get__(PyObject *__pyx_v_self) {
277
PyObject *__pyx_1 = 0;
278
Py_INCREF(__pyx_v_self);
279
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_ctime); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; goto __pyx_L1;}
284
__pyx_r = Py_None; Py_INCREF(Py_None);
288
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_ctime.__get__");
291
Py_DECREF(__pyx_v_self);
295
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_mtime___get__(PyObject *__pyx_v_self); /*proto*/
296
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_mtime___get__(PyObject *__pyx_v_self) {
298
PyObject *__pyx_1 = 0;
299
Py_INCREF(__pyx_v_self);
300
__pyx_1 = PyInt_FromLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_mtime); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L1;}
305
__pyx_r = Py_None; Py_INCREF(Py_None);
309
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_mtime.__get__");
312
Py_DECREF(__pyx_v_self);
316
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_size___get__(PyObject *__pyx_v_self); /*proto*/
317
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_size___get__(PyObject *__pyx_v_self) {
319
PyObject *__pyx_1 = 0;
320
Py_INCREF(__pyx_v_self);
321
__pyx_1 = PyLong_FromUnsignedLongLong(((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_v_self)->_st.st_size); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L1;}
326
__pyx_r = Py_None; Py_INCREF(Py_None);
330
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_size.__get__");
333
Py_DECREF(__pyx_v_self);
337
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat___repr__(PyObject *__pyx_v_self); /*proto*/
338
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_5_Stat___repr__(PyObject *__pyx_v_self) {
340
PyObject *__pyx_1 = 0;
341
PyObject *__pyx_2 = 0;
342
PyObject *__pyx_3 = 0;
343
PyObject *__pyx_4 = 0;
344
PyObject *__pyx_5 = 0;
345
PyObject *__pyx_6 = 0;
346
PyObject *__pyx_7 = 0;
347
PyObject *__pyx_8 = 0;
348
PyObject *__pyx_9 = 0;
349
PyObject *__pyx_10 = 0;
350
Py_INCREF(__pyx_v_self);
351
__pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
352
__pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
353
__pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
354
__pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
355
__pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
356
__pyx_6 = PyInt_FromLong(0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
357
__pyx_7 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_size); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
358
__pyx_8 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_mtime); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; goto __pyx_L1;}
359
__pyx_9 = PyObject_GetAttr(__pyx_v_self, __pyx_n_st_ctime); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; goto __pyx_L1;}
360
__pyx_10 = PyTuple_New(10); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
361
PyTuple_SET_ITEM(__pyx_10, 0, __pyx_1);
362
PyTuple_SET_ITEM(__pyx_10, 1, __pyx_2);
363
PyTuple_SET_ITEM(__pyx_10, 2, __pyx_3);
364
PyTuple_SET_ITEM(__pyx_10, 3, __pyx_4);
365
PyTuple_SET_ITEM(__pyx_10, 4, __pyx_5);
366
PyTuple_SET_ITEM(__pyx_10, 5, __pyx_6);
367
PyTuple_SET_ITEM(__pyx_10, 6, __pyx_7);
369
PyTuple_SET_ITEM(__pyx_10, 7, Py_None);
370
PyTuple_SET_ITEM(__pyx_10, 8, __pyx_8);
371
PyTuple_SET_ITEM(__pyx_10, 9, __pyx_9);
381
__pyx_1 = PyObject_Repr(__pyx_10); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; goto __pyx_L1;}
382
Py_DECREF(__pyx_10); __pyx_10 = 0;
387
__pyx_r = Py_None; Py_INCREF(Py_None);
399
Py_XDECREF(__pyx_10);
400
__Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.__repr__");
403
Py_DECREF(__pyx_v_self);
407
static int __pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
408
static int __pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
410
PyObject *__pyx_1 = 0;
411
PyObject *__pyx_2 = 0;
412
static char *__pyx_argnames[] = {0};
413
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return -1;
414
Py_INCREF(__pyx_v_self);
416
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":173 */
417
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_osutils); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
418
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_safe_utf8); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
419
Py_DECREF(__pyx_1); __pyx_1 = 0;
420
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8);
421
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8 = __pyx_2;
424
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":174 */
425
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__directory); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;}
426
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_directory);
427
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_directory = __pyx_1;
430
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":175 */
431
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__chardev); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L1;}
432
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_chardev);
433
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_chardev = __pyx_2;
436
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":176 */
437
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__block); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; goto __pyx_L1;}
438
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_block);
439
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_block = __pyx_1;
442
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":177 */
443
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__file); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; goto __pyx_L1;}
444
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_file);
445
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_file = __pyx_2;
448
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":178 */
449
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__fifo); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; goto __pyx_L1;}
450
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_fifo);
451
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_fifo = __pyx_1;
454
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":179 */
455
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__symlink); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L1;}
456
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_symlink);
457
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_symlink = __pyx_2;
460
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":180 */
461
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n__socket); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L1;}
462
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_socket);
463
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_socket = __pyx_1;
466
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":181 */
467
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n__unknown); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; goto __pyx_L1;}
468
Py_DECREF(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_unknown);
469
((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_unknown = __pyx_2;
477
__Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.__init__");
480
Py_DECREF(__pyx_v_self);
484
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_kind_from_mode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
485
static char __pyx_doc_6bzrlib_12_readdir_pyx_13UTF8DirReader_kind_from_mode[] = "Get the kind of a path from a mode status.";
486
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_kind_from_mode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
489
PyObject *__pyx_1 = 0;
490
static char *__pyx_argnames[] = {"mode",0};
491
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "i", __pyx_argnames, &__pyx_v_mode)) return 0;
492
Py_INCREF(__pyx_v_self);
493
__pyx_1 = ((struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *)((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->__pyx_vtab)->_kind_from_mode(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self),__pyx_v_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; goto __pyx_L1;}
498
__pyx_r = Py_None; Py_INCREF(Py_None);
502
__Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.kind_from_mode");
505
Py_DECREF(__pyx_v_self);
509
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader__kind_from_mode(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *__pyx_v_self,int __pyx_v_mode) {
512
Py_INCREF(__pyx_v_self);
514
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":189 */
515
__pyx_1 = S_ISREG(__pyx_v_mode);
517
Py_INCREF(__pyx_v_self->_file);
518
__pyx_r = __pyx_v_self->_file;
524
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":191 */
525
__pyx_1 = S_ISDIR(__pyx_v_mode);
527
Py_INCREF(__pyx_v_self->_directory);
528
__pyx_r = __pyx_v_self->_directory;
534
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":193 */
535
__pyx_1 = S_ISCHR(__pyx_v_mode);
537
Py_INCREF(__pyx_v_self->_chardev);
538
__pyx_r = __pyx_v_self->_chardev;
544
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":195 */
545
__pyx_1 = S_ISBLK(__pyx_v_mode);
547
Py_INCREF(__pyx_v_self->_block);
548
__pyx_r = __pyx_v_self->_block;
554
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":197 */
555
__pyx_1 = S_ISLNK(__pyx_v_mode);
557
Py_INCREF(__pyx_v_self->_symlink);
558
__pyx_r = __pyx_v_self->_symlink;
564
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":199 */
565
__pyx_1 = S_ISFIFO(__pyx_v_mode);
567
Py_INCREF(__pyx_v_self->_fifo);
568
__pyx_r = __pyx_v_self->_fifo;
574
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":201 */
575
__pyx_1 = S_ISSOCK(__pyx_v_mode);
577
Py_INCREF(__pyx_v_self->_socket);
578
__pyx_r = __pyx_v_self->_socket;
584
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":203 */
585
Py_INCREF(__pyx_v_self->_unknown);
586
__pyx_r = __pyx_v_self->_unknown;
589
__pyx_r = Py_None; Py_INCREF(Py_None);
591
Py_DECREF(__pyx_v_self);
595
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
596
static char __pyx_doc_6bzrlib_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir[] = "See DirReader.top_prefix_to_starting_dir.";
597
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
598
PyObject *__pyx_v_top = 0;
599
PyObject *__pyx_v_prefix = 0;
601
PyObject *__pyx_1 = 0;
602
PyObject *__pyx_2 = 0;
603
PyObject *__pyx_3 = 0;
604
static char *__pyx_argnames[] = {"top","prefix",0};
605
__pyx_v_prefix = __pyx_d1;
606
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|O", __pyx_argnames, &__pyx_v_top, &__pyx_v_prefix)) return 0;
607
Py_INCREF(__pyx_v_self);
608
Py_INCREF(__pyx_v_top);
609
Py_INCREF(__pyx_v_prefix);
610
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
611
Py_INCREF(__pyx_v_prefix);
612
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_prefix);
613
__pyx_2 = PyObject_CallObject(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
614
Py_DECREF(__pyx_1); __pyx_1 = 0;
615
__pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; goto __pyx_L1;}
616
Py_INCREF(__pyx_v_top);
617
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_top);
618
__pyx_3 = PyObject_CallObject(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->_safe_utf8, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; goto __pyx_L1;}
619
Py_DECREF(__pyx_1); __pyx_1 = 0;
620
__pyx_1 = PyTuple_New(5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
621
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
623
PyTuple_SET_ITEM(__pyx_1, 1, Py_None);
625
PyTuple_SET_ITEM(__pyx_1, 2, Py_None);
627
PyTuple_SET_ITEM(__pyx_1, 3, Py_None);
628
PyTuple_SET_ITEM(__pyx_1, 4, __pyx_3);
635
__pyx_r = Py_None; Py_INCREF(Py_None);
641
__Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.top_prefix_to_starting_dir");
644
Py_DECREF(__pyx_v_self);
645
Py_DECREF(__pyx_v_top);
646
Py_DECREF(__pyx_v_prefix);
650
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_read_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
651
static char __pyx_doc_6bzrlib_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 ";
652
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_read_dir(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
653
PyObject *__pyx_v_prefix = 0;
654
PyObject *__pyx_v_top = 0;
655
PyObject *__pyx_v_newval;
658
void *__pyx_v_atuple;
659
PyObject *__pyx_v_name;
660
PyObject *__pyx_v_new_val_obj;
661
PyObject *__pyx_v_relprefix;
662
PyObject *__pyx_v_top_slash;
663
PyObject *__pyx_v_result;
666
PyObject *__pyx_2 = 0;
668
PyObject *__pyx_4 = 0;
669
static char *__pyx_argnames[] = {"prefix","top",0};
670
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_prefix, &__pyx_v_top)) return 0;
671
Py_INCREF(__pyx_v_self);
672
Py_INCREF(__pyx_v_prefix);
673
Py_INCREF(__pyx_v_top);
674
__pyx_v_newval = Py_None; Py_INCREF(Py_None);
675
__pyx_v_name = Py_None; Py_INCREF(Py_None);
676
__pyx_v_relprefix = Py_None; Py_INCREF(Py_None);
677
__pyx_v_top_slash = Py_None; Py_INCREF(Py_None);
678
__pyx_v_result = Py_None; Py_INCREF(Py_None);
680
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":230 */
681
__pyx_1 = PyString_Size(__pyx_v_prefix);
683
__pyx_2 = PyNumber_Add(__pyx_v_prefix, __pyx_k15p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
684
Py_DECREF(__pyx_v_relprefix);
685
__pyx_v_relprefix = __pyx_2;
690
Py_INCREF(__pyx_k16p);
691
Py_DECREF(__pyx_v_relprefix);
692
__pyx_v_relprefix = __pyx_k16p;
696
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":234 */
697
__pyx_2 = PyNumber_Add(__pyx_v_top, __pyx_k15p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
698
Py_DECREF(__pyx_v_top_slash);
699
__pyx_v_top_slash = __pyx_2;
702
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":238 */
703
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx__read_dir(__pyx_v_top); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; goto __pyx_L1;}
704
Py_DECREF(__pyx_v_result);
705
__pyx_v_result = __pyx_2;
708
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":239 */
709
__pyx_1 = PyObject_Length(__pyx_v_result); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; goto __pyx_L1;}
710
__pyx_v_length = __pyx_1;
712
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":241 */
713
for (__pyx_v_index = 0; __pyx_v_index < __pyx_v_length; ++__pyx_v_index) {
715
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":242 */
716
__pyx_v_atuple = PyList_GET_ITEM(__pyx_v_result,__pyx_v_index);
718
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":243 */
719
Py_INCREF(((PyObject *)PyTuple_GET_ITEM(__pyx_v_atuple,1)));
720
Py_DECREF(__pyx_v_name);
721
__pyx_v_name = ((PyObject *)PyTuple_GET_ITEM(__pyx_v_atuple,1));
723
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":248 */
724
__pyx_v_new_val_obj = ((PyObject *)__pyx_v_relprefix);
726
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":249 */
727
Py_INCREF(__pyx_v_relprefix);
729
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":250 */
730
PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
732
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":251 */
733
__pyx_3 = (NULL == __pyx_v_new_val_obj);
735
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L1;}
736
Py_INCREF(__pyx_k17p);
737
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k17p);
738
__pyx_4 = PyObject_CallObject(PyExc_Exception, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L1;}
739
Py_DECREF(__pyx_2); __pyx_2 = 0;
740
__Pyx_Raise(__pyx_4, 0, 0);
741
Py_DECREF(__pyx_4); __pyx_4 = 0;
742
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L1;}
747
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":255 */
748
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,0,__pyx_v_new_val_obj); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L1;}
750
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":257 */
751
__pyx_2 = PyObject_GetAttr(((PyObject *)PyTuple_GET_ITEM(__pyx_v_atuple,3)), __pyx_n_st_mode); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L1;}
752
__pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L1;}
753
Py_DECREF(__pyx_2); __pyx_2 = 0;
754
__pyx_4 = ((struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *)((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self)->__pyx_vtab)->_kind_from_mode(((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)__pyx_v_self),__pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
755
Py_DECREF(__pyx_v_newval);
756
__pyx_v_newval = __pyx_4;
759
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":259 */
760
Py_INCREF(__pyx_v_newval);
762
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":260 */
763
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,2,__pyx_v_newval); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; goto __pyx_L1;}
765
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":264 */
766
__pyx_v_new_val_obj = ((PyObject *)__pyx_v_top_slash);
768
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":265 */
769
Py_INCREF(__pyx_v_top_slash);
771
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":266 */
772
PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
774
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":267 */
775
__pyx_3 = (NULL == __pyx_v_new_val_obj);
777
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; goto __pyx_L1;}
778
Py_INCREF(__pyx_k17p);
779
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k17p);
780
__pyx_4 = PyObject_CallObject(PyExc_Exception, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; goto __pyx_L1;}
781
Py_DECREF(__pyx_2); __pyx_2 = 0;
782
__Pyx_Raise(__pyx_4, 0, 0);
783
Py_DECREF(__pyx_4); __pyx_4 = 0;
784
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; goto __pyx_L1;}
789
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":271 */
790
__pyx_3 = PyTuple_SetItem(__pyx_v_atuple,4,__pyx_v_new_val_obj); if (__pyx_3 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
793
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":272 */
794
Py_INCREF(__pyx_v_result);
795
__pyx_r = __pyx_v_result;
798
__pyx_r = Py_None; Py_INCREF(Py_None);
803
__Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.read_dir");
806
Py_DECREF(__pyx_v_newval);
807
Py_DECREF(__pyx_v_name);
808
Py_DECREF(__pyx_v_relprefix);
809
Py_DECREF(__pyx_v_top_slash);
810
Py_DECREF(__pyx_v_result);
811
Py_DECREF(__pyx_v_self);
812
Py_DECREF(__pyx_v_prefix);
813
Py_DECREF(__pyx_v_top);
817
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(int __pyx_v_errnum,char *__pyx_v_msg_prefix,PyObject *__pyx_v_path) {
820
PyObject *__pyx_2 = 0;
821
PyObject *__pyx_3 = 0;
822
PyObject *__pyx_4 = 0;
823
PyObject *__pyx_5 = 0;
824
Py_INCREF(__pyx_v_path);
826
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":276 */
827
__pyx_1 = (__pyx_v_errnum == EINTR);
829
__pyx_1 = PyErr_CheckSignals(); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; goto __pyx_L1;}
834
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":278 */
835
__pyx_2 = PyInt_FromLong(__pyx_v_errnum); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
836
__pyx_3 = PyString_FromString(__pyx_v_msg_prefix); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
837
__pyx_4 = PyString_FromString(strerror(__pyx_v_errnum)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
838
__pyx_5 = PyNumber_Add(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
839
Py_DECREF(__pyx_3); __pyx_3 = 0;
840
Py_DECREF(__pyx_4); __pyx_4 = 0;
841
__pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
842
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
843
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_5);
844
Py_INCREF(__pyx_v_path);
845
PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_path);
848
__pyx_4 = PyObject_CallObject(PyExc_OSError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
849
Py_DECREF(__pyx_3); __pyx_3 = 0;
850
__Pyx_Raise(__pyx_4, 0, 0);
851
Py_DECREF(__pyx_4); __pyx_4 = 0;
852
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; goto __pyx_L1;}
854
__pyx_r = Py_None; Py_INCREF(Py_None);
861
__Pyx_AddTraceback("bzrlib._readdir_pyx.raise_os_error");
864
Py_DECREF(__pyx_v_path);
868
static PyObject *__pyx_f_6bzrlib_12_readdir_pyx__read_dir(PyObject *__pyx_v_path) {
869
DIR *__pyx_v_the_dir;
870
dirent *__pyx_v_entry;
871
dirent __pyx_v_sentinel;
873
int __pyx_v_stat_result;
874
struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *__pyx_v_statvalue;
875
int __pyx_v_orig_dir_fd;
876
PyObject *__pyx_v_result;
877
PyObject *__pyx_v_failed;
880
PyObject *__pyx_2 = 0;
883
PyObject *__pyx_5 = 0;
884
PyObject *__pyx_6 = 0;
885
Py_INCREF(__pyx_v_path);
886
__pyx_v_statvalue = ((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)Py_None); Py_INCREF(Py_None);
887
__pyx_v_result = Py_None; Py_INCREF(Py_None);
888
__pyx_v_failed = Py_None; Py_INCREF(Py_None);
890
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":302 */
891
if (PyObject_Cmp(__pyx_v_path, __pyx_k16p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; goto __pyx_L1;}
892
__pyx_1 = __pyx_1 != 0;
894
if (PyObject_Cmp(__pyx_v_path, __pyx_k18p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; goto __pyx_L1;}
895
__pyx_1 = __pyx_1 != 0;
899
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":306 */
900
__pyx_v_orig_dir_fd = open(__pyx_k18,O_RDONLY,0);
902
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":307 */
903
__pyx_1 = (__pyx_v_orig_dir_fd == (-1));
905
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k19,__pyx_k18p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; goto __pyx_L1;}
906
Py_DECREF(__pyx_2); __pyx_2 = 0;
911
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":309 */
912
__pyx_3 = PyString_AsString(__pyx_v_path); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; goto __pyx_L1;}
913
__pyx_1 = ((-1) == chdir(__pyx_3));
916
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":312 */
917
close(__pyx_v_orig_dir_fd);
919
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":313 */
920
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k20,__pyx_v_path); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; goto __pyx_L1;}
921
Py_DECREF(__pyx_2); __pyx_2 = 0;
928
__pyx_v_orig_dir_fd = (-1);
932
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":317 */
935
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":318 */
936
__pyx_v_the_dir = opendir(__pyx_k18);
938
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":319 */
939
__pyx_1 = (NULL == __pyx_v_the_dir);
941
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k21,__pyx_v_path); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; goto __pyx_L6;}
942
Py_DECREF(__pyx_2); __pyx_2 = 0;
947
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":321 */
950
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":322 */
951
__pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; goto __pyx_L10;}
952
Py_DECREF(__pyx_v_result);
953
__pyx_v_result = __pyx_2;
956
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":323 */
957
__pyx_v_entry = (&__pyx_v_sentinel);
959
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":324 */
961
__pyx_1 = (__pyx_v_entry != NULL);
964
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":328 */
966
__pyx_1 = PyObject_IsTrue(Py_True); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L10;}
969
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":329 */
972
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":330 */
973
__pyx_v_entry = readdir(__pyx_v_the_dir);
975
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":331 */
976
__pyx_1 = (__pyx_v_entry == NULL);
978
__pyx_1 = (errno == EAGAIN);
980
__pyx_1 = (errno == EINTR);
985
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":332 */
986
__pyx_1 = (errno == EINTR);
988
__pyx_1 = PyErr_CheckSignals(); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
993
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":335 */
1005
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":338 */
1006
__pyx_1 = (__pyx_v_entry == NULL);
1008
__pyx_1 = (errno == ENOTDIR);
1010
__pyx_1 = (errno == 0);
1017
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k22,__pyx_v_path); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; goto __pyx_L10;}
1018
Py_DECREF(__pyx_2); __pyx_2 = 0;
1025
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":346 */
1026
__pyx_v_name = __pyx_v_entry->d_name;
1028
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":347 */
1029
__pyx_1 = ((__pyx_v_name[0]) == '.');
1031
__pyx_1 = ((__pyx_v_name[1]) == 0);
1033
__pyx_1 = ((__pyx_v_name[1]) == '.');
1035
__pyx_1 = ((__pyx_v_name[2]) == 0);
1039
__pyx_4 = (!__pyx_1);
1042
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":351 */
1043
__pyx_2 = PyObject_CallObject(((PyObject *)__pyx_ptype_6bzrlib_12_readdir_pyx__Stat), 0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; goto __pyx_L10;}
1044
Py_DECREF(((PyObject *)__pyx_v_statvalue));
1045
__pyx_v_statvalue = ((struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat *)__pyx_2);
1048
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":352 */
1049
__pyx_v_stat_result = lstat(__pyx_v_entry->d_name,(&__pyx_v_statvalue->_st));
1051
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":353 */
1052
__pyx_1 = (__pyx_v_stat_result != 0);
1054
__pyx_4 = (errno != ENOENT);
1056
__pyx_2 = PyNumber_Add(__pyx_v_path, __pyx_k15p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; goto __pyx_L10;}
1057
__pyx_5 = PyString_FromString(__pyx_v_entry->d_name); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; goto __pyx_L10;}
1058
__pyx_6 = PyNumber_Add(__pyx_2, __pyx_5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; goto __pyx_L10;}
1059
Py_DECREF(__pyx_2); __pyx_2 = 0;
1060
Py_DECREF(__pyx_5); __pyx_5 = 0;
1061
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k23,__pyx_6); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; goto __pyx_L10;}
1062
Py_DECREF(__pyx_6); __pyx_6 = 0;
1063
Py_DECREF(__pyx_2); __pyx_2 = 0;
1074
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":369 */
1075
__pyx_5 = PyLong_FromUnsignedLong(__pyx_v_entry->d_ino); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L10;}
1076
__pyx_6 = PyString_FromString(__pyx_v_entry->d_name); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L10;}
1077
__pyx_2 = PyTuple_New(5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L10;}
1078
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_5);
1079
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_6);
1081
PyTuple_SET_ITEM(__pyx_2, 2, Py_None);
1082
Py_INCREF(((PyObject *)__pyx_v_statvalue));
1083
PyTuple_SET_ITEM(__pyx_2, 3, ((PyObject *)__pyx_v_statvalue));
1085
PyTuple_SET_ITEM(__pyx_2, 4, Py_None);
1088
__pyx_1 = PyList_Append(__pyx_v_result,__pyx_2); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L10;}
1089
Py_DECREF(__pyx_2); __pyx_2 = 0;
1098
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
1099
int __pyx_exc_lineno;
1100
__pyx_why = 0; goto __pyx_L11;
1103
Py_XDECREF(__pyx_5); __pyx_5 = 0;
1104
Py_XDECREF(__pyx_6); __pyx_6 = 0;
1105
Py_XDECREF(__pyx_2); __pyx_2 = 0;
1106
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1107
__pyx_exc_lineno = __pyx_lineno;
1111
__pyx_4 = ((-1) == closedir(__pyx_v_the_dir));
1113
__pyx_5 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k24,__pyx_v_path); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; goto __pyx_L23;}
1114
Py_DECREF(__pyx_5); __pyx_5 = 0;
1120
if (__pyx_why == 4) {
1121
Py_XDECREF(__pyx_exc_type);
1122
Py_XDECREF(__pyx_exc_value);
1123
Py_XDECREF(__pyx_exc_tb);
1127
switch (__pyx_why) {
1129
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1130
__pyx_lineno = __pyx_exc_lineno;
1132
__pyx_exc_value = 0;
1141
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
1142
int __pyx_exc_lineno;
1143
__pyx_why = 0; goto __pyx_L7;
1146
Py_XDECREF(__pyx_6); __pyx_6 = 0;
1147
Py_XDECREF(__pyx_2); __pyx_2 = 0;
1148
Py_XDECREF(__pyx_5); __pyx_5 = 0;
1149
PyErr_Fetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
1150
__pyx_exc_lineno = __pyx_lineno;
1154
__pyx_1 = ((-1) != __pyx_v_orig_dir_fd);
1157
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":376 */
1158
Py_INCREF(Py_False);
1159
Py_DECREF(__pyx_v_failed);
1160
__pyx_v_failed = Py_False;
1162
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":377 */
1163
__pyx_4 = ((-1) == fchdir(__pyx_v_orig_dir_fd));
1166
Py_DECREF(__pyx_v_failed);
1167
__pyx_v_failed = Py_True;
1172
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":380 */
1173
__pyx_6 = PyInt_FromLong(((-1) == close(__pyx_v_orig_dir_fd))); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; goto __pyx_L26;}
1174
__pyx_1 = PyObject_IsTrue(__pyx_6); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; goto __pyx_L26;}
1176
Py_DECREF(__pyx_6); __pyx_6 = 0;
1177
__pyx_6 = __pyx_v_failed;
1180
__pyx_4 = PyObject_IsTrue(__pyx_6); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; goto __pyx_L26;}
1181
Py_DECREF(__pyx_6); __pyx_6 = 0;
1183
__pyx_2 = __pyx_f_6bzrlib_12_readdir_pyx_raise_os_error(errno,__pyx_k25,__pyx_k16p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; goto __pyx_L26;}
1184
Py_DECREF(__pyx_2); __pyx_2 = 0;
1193
if (__pyx_why == 4) {
1194
Py_XDECREF(__pyx_exc_type);
1195
Py_XDECREF(__pyx_exc_value);
1196
Py_XDECREF(__pyx_exc_tb);
1200
switch (__pyx_why) {
1202
PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
1203
__pyx_lineno = __pyx_exc_lineno;
1205
__pyx_exc_value = 0;
1212
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":383 */
1213
Py_INCREF(__pyx_v_result);
1214
__pyx_r = __pyx_v_result;
1217
__pyx_r = Py_None; Py_INCREF(Py_None);
1220
Py_XDECREF(__pyx_2);
1221
Py_XDECREF(__pyx_5);
1222
Py_XDECREF(__pyx_6);
1223
__Pyx_AddTraceback("bzrlib._readdir_pyx._read_dir");
1226
Py_DECREF(__pyx_v_statvalue);
1227
Py_DECREF(__pyx_v_result);
1228
Py_DECREF(__pyx_v_failed);
1229
Py_DECREF(__pyx_v_path);
1233
static PyObject *__pyx_tp_new_6bzrlib_12_readdir_pyx__Stat(PyTypeObject *t, PyObject *a, PyObject *k) {
1234
PyObject *o = (*t->tp_alloc)(t, 0);
1239
static void __pyx_tp_dealloc_6bzrlib_12_readdir_pyx__Stat(PyObject *o) {
1240
(*o->ob_type->tp_free)(o);
1243
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_dev(PyObject *o, void *x) {
1244
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_dev___get__(o);
1247
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_ino(PyObject *o, void *x) {
1248
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_6st_ino___get__(o);
1251
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_mode(PyObject *o, void *x) {
1252
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_mode___get__(o);
1255
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_ctime(PyObject *o, void *x) {
1256
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_ctime___get__(o);
1259
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_mtime(PyObject *o, void *x) {
1260
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_8st_mtime___get__(o);
1263
static PyObject *__pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_size(PyObject *o, void *x) {
1264
return __pyx_f_6bzrlib_12_readdir_pyx_5_Stat_7st_size___get__(o);
1267
static struct PyMethodDef __pyx_methods_6bzrlib_12_readdir_pyx__Stat[] = {
1271
static struct PyGetSetDef __pyx_getsets_6bzrlib_12_readdir_pyx__Stat[] = {
1272
{"st_dev", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_dev, 0, 0, 0},
1273
{"st_ino", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_ino, 0, 0, 0},
1274
{"st_mode", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_mode, 0, 0, 0},
1275
{"st_ctime", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_ctime, 0, 0, 0},
1276
{"st_mtime", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_mtime, 0, 0, 0},
1277
{"st_size", __pyx_getprop_6bzrlib_12_readdir_pyx_5_Stat_st_size, 0, 0, 0},
1281
static PyNumberMethods __pyx_tp_as_number__Stat = {
1305
0, /*nb_inplace_add*/
1306
0, /*nb_inplace_subtract*/
1307
0, /*nb_inplace_multiply*/
1308
0, /*nb_inplace_divide*/
1309
0, /*nb_inplace_remainder*/
1310
0, /*nb_inplace_power*/
1311
0, /*nb_inplace_lshift*/
1312
0, /*nb_inplace_rshift*/
1313
0, /*nb_inplace_and*/
1314
0, /*nb_inplace_xor*/
1315
0, /*nb_inplace_or*/
1316
0, /*nb_floor_divide*/
1317
0, /*nb_true_divide*/
1318
0, /*nb_inplace_floor_divide*/
1319
0, /*nb_inplace_true_divide*/
1320
#if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
1325
static PySequenceMethods __pyx_tp_as_sequence__Stat = {
1334
0, /*sq_inplace_concat*/
1335
0, /*sq_inplace_repeat*/
1338
static PyMappingMethods __pyx_tp_as_mapping__Stat = {
1341
0, /*mp_ass_subscript*/
1344
static PyBufferProcs __pyx_tp_as_buffer__Stat = {
1345
0, /*bf_getreadbuffer*/
1346
0, /*bf_getwritebuffer*/
1347
0, /*bf_getsegcount*/
1348
0, /*bf_getcharbuffer*/
1351
PyTypeObject __pyx_type_6bzrlib_12_readdir_pyx__Stat = {
1352
PyObject_HEAD_INIT(0)
1354
"bzrlib._readdir_pyx._Stat", /*tp_name*/
1355
sizeof(struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat), /*tp_basicsize*/
1357
__pyx_tp_dealloc_6bzrlib_12_readdir_pyx__Stat, /*tp_dealloc*/
1362
__pyx_f_6bzrlib_12_readdir_pyx_5_Stat___repr__, /*tp_repr*/
1363
&__pyx_tp_as_number__Stat, /*tp_as_number*/
1364
&__pyx_tp_as_sequence__Stat, /*tp_as_sequence*/
1365
&__pyx_tp_as_mapping__Stat, /*tp_as_mapping*/
1371
&__pyx_tp_as_buffer__Stat, /*tp_as_buffer*/
1372
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
1373
"Represent a \'stat\' result.", /*tp_doc*/
1376
0, /*tp_richcompare*/
1377
0, /*tp_weaklistoffset*/
1380
__pyx_methods_6bzrlib_12_readdir_pyx__Stat, /*tp_methods*/
1382
__pyx_getsets_6bzrlib_12_readdir_pyx__Stat, /*tp_getset*/
1387
0, /*tp_dictoffset*/
1390
__pyx_tp_new_6bzrlib_12_readdir_pyx__Stat, /*tp_new*/
1396
0, /*tp_subclasses*/
1399
static struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader __pyx_vtable_6bzrlib_12_readdir_pyx_UTF8DirReader;
1401
static PyObject *__pyx_tp_new_6bzrlib_12_readdir_pyx_UTF8DirReader(PyTypeObject *t, PyObject *a, PyObject *k) {
1402
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *p;
1403
PyObject *o = (*t->tp_alloc)(t, 0);
1405
p = ((struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)o);
1406
*(struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader **)&p->__pyx_vtab = __pyx_vtabptr_6bzrlib_12_readdir_pyx_UTF8DirReader;
1407
p->_safe_utf8 = Py_None; Py_INCREF(Py_None);
1408
p->_directory = Py_None; Py_INCREF(Py_None);
1409
p->_chardev = Py_None; Py_INCREF(Py_None);
1410
p->_block = Py_None; Py_INCREF(Py_None);
1411
p->_file = Py_None; Py_INCREF(Py_None);
1412
p->_fifo = Py_None; Py_INCREF(Py_None);
1413
p->_symlink = Py_None; Py_INCREF(Py_None);
1414
p->_socket = Py_None; Py_INCREF(Py_None);
1415
p->_unknown = Py_None; Py_INCREF(Py_None);
1419
static void __pyx_tp_dealloc_6bzrlib_12_readdir_pyx_UTF8DirReader(PyObject *o) {
1420
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)o;
1421
Py_XDECREF(p->_safe_utf8);
1422
Py_XDECREF(p->_directory);
1423
Py_XDECREF(p->_chardev);
1424
Py_XDECREF(p->_block);
1425
Py_XDECREF(p->_file);
1426
Py_XDECREF(p->_fifo);
1427
Py_XDECREF(p->_symlink);
1428
Py_XDECREF(p->_socket);
1429
Py_XDECREF(p->_unknown);
1430
(*o->ob_type->tp_free)(o);
1433
static int __pyx_tp_traverse_6bzrlib_12_readdir_pyx_UTF8DirReader(PyObject *o, visitproc v, void *a) {
1435
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)o;
1436
if (p->_safe_utf8) {
1437
e = (*v)(p->_safe_utf8, a); if (e) return e;
1439
if (p->_directory) {
1440
e = (*v)(p->_directory, a); if (e) return e;
1443
e = (*v)(p->_chardev, a); if (e) return e;
1446
e = (*v)(p->_block, a); if (e) return e;
1449
e = (*v)(p->_file, a); if (e) return e;
1452
e = (*v)(p->_fifo, a); if (e) return e;
1455
e = (*v)(p->_symlink, a); if (e) return e;
1458
e = (*v)(p->_socket, a); if (e) return e;
1461
e = (*v)(p->_unknown, a); if (e) return e;
1466
static int __pyx_tp_clear_6bzrlib_12_readdir_pyx_UTF8DirReader(PyObject *o) {
1467
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *p = (struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *)o;
1470
p->_safe_utf8 = Py_None; Py_INCREF(Py_None);
1473
p->_directory = Py_None; Py_INCREF(Py_None);
1476
p->_chardev = Py_None; Py_INCREF(Py_None);
1479
p->_block = Py_None; Py_INCREF(Py_None);
1482
p->_file = Py_None; Py_INCREF(Py_None);
1485
p->_fifo = Py_None; Py_INCREF(Py_None);
1488
p->_symlink = Py_None; Py_INCREF(Py_None);
1491
p->_socket = Py_None; Py_INCREF(Py_None);
1494
p->_unknown = Py_None; Py_INCREF(Py_None);
1499
static struct PyMethodDef __pyx_methods_6bzrlib_12_readdir_pyx_UTF8DirReader[] = {
1500
{"kind_from_mode", (PyCFunction)__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_kind_from_mode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6bzrlib_12_readdir_pyx_13UTF8DirReader_kind_from_mode},
1501
{"top_prefix_to_starting_dir", (PyCFunction)__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6bzrlib_12_readdir_pyx_13UTF8DirReader_top_prefix_to_starting_dir},
1502
{"read_dir", (PyCFunction)__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader_read_dir, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6bzrlib_12_readdir_pyx_13UTF8DirReader_read_dir},
1506
static struct PyMemberDef __pyx_members_6bzrlib_12_readdir_pyx_UTF8DirReader[] = {
1507
{"_safe_utf8", T_OBJECT, offsetof(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader, _safe_utf8), READONLY, 0},
1511
static PyNumberMethods __pyx_tp_as_number_UTF8DirReader = {
1535
0, /*nb_inplace_add*/
1536
0, /*nb_inplace_subtract*/
1537
0, /*nb_inplace_multiply*/
1538
0, /*nb_inplace_divide*/
1539
0, /*nb_inplace_remainder*/
1540
0, /*nb_inplace_power*/
1541
0, /*nb_inplace_lshift*/
1542
0, /*nb_inplace_rshift*/
1543
0, /*nb_inplace_and*/
1544
0, /*nb_inplace_xor*/
1545
0, /*nb_inplace_or*/
1546
0, /*nb_floor_divide*/
1547
0, /*nb_true_divide*/
1548
0, /*nb_inplace_floor_divide*/
1549
0, /*nb_inplace_true_divide*/
1550
#if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
1555
static PySequenceMethods __pyx_tp_as_sequence_UTF8DirReader = {
1564
0, /*sq_inplace_concat*/
1565
0, /*sq_inplace_repeat*/
1568
static PyMappingMethods __pyx_tp_as_mapping_UTF8DirReader = {
1571
0, /*mp_ass_subscript*/
1574
static PyBufferProcs __pyx_tp_as_buffer_UTF8DirReader = {
1575
0, /*bf_getreadbuffer*/
1576
0, /*bf_getwritebuffer*/
1577
0, /*bf_getsegcount*/
1578
0, /*bf_getcharbuffer*/
1581
PyTypeObject __pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader = {
1582
PyObject_HEAD_INIT(0)
1584
"bzrlib._readdir_pyx.UTF8DirReader", /*tp_name*/
1585
sizeof(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader), /*tp_basicsize*/
1587
__pyx_tp_dealloc_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_dealloc*/
1593
&__pyx_tp_as_number_UTF8DirReader, /*tp_as_number*/
1594
&__pyx_tp_as_sequence_UTF8DirReader, /*tp_as_sequence*/
1595
&__pyx_tp_as_mapping_UTF8DirReader, /*tp_as_mapping*/
1601
&__pyx_tp_as_buffer_UTF8DirReader, /*tp_as_buffer*/
1602
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
1603
"A dir reader for utf8 file systems.", /*tp_doc*/
1604
__pyx_tp_traverse_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_traverse*/
1605
__pyx_tp_clear_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_clear*/
1606
0, /*tp_richcompare*/
1607
0, /*tp_weaklistoffset*/
1610
__pyx_methods_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_methods*/
1611
__pyx_members_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_members*/
1617
0, /*tp_dictoffset*/
1618
__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader___init__, /*tp_init*/
1620
__pyx_tp_new_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_new*/
1626
0, /*tp_subclasses*/
1630
static struct PyMethodDef __pyx_methods[] = {
1634
static void __pyx_init_filenames(void); /*proto*/
1636
PyMODINIT_FUNC init_readdir_pyx(void); /*proto*/
1637
PyMODINIT_FUNC init_readdir_pyx(void) {
1638
PyObject *__pyx_1 = 0;
1639
PyObject *__pyx_2 = 0;
1640
__pyx_init_filenames();
1641
__pyx_m = Py_InitModule4("_readdir_pyx", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
1642
if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1644
__pyx_b = PyImport_AddModule("__builtin__");
1645
if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1646
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1647
if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;};
1648
if (PyType_Ready(&__pyx_type_6bzrlib_12_readdir_pyx__Stat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; goto __pyx_L1;}
1649
if (PyObject_SetAttrString(__pyx_m, "_Stat", (PyObject *)&__pyx_type_6bzrlib_12_readdir_pyx__Stat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; goto __pyx_L1;}
1650
__pyx_ptype_6bzrlib_12_readdir_pyx__Stat = &__pyx_type_6bzrlib_12_readdir_pyx__Stat;
1651
__pyx_vtabptr_6bzrlib_12_readdir_pyx_UTF8DirReader = &__pyx_vtable_6bzrlib_12_readdir_pyx_UTF8DirReader;
1652
*(void(**)(void))&__pyx_vtable_6bzrlib_12_readdir_pyx_UTF8DirReader._kind_from_mode = (void(*)(void))__pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader__kind_from_mode;
1653
__pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader.tp_free = _PyObject_GC_Del;
1654
if (PyType_Ready(&__pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; goto __pyx_L1;}
1655
if (__Pyx_SetVtable(__pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader.tp_dict, __pyx_vtabptr_6bzrlib_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; goto __pyx_L1;}
1656
if (PyObject_SetAttrString(__pyx_m, "UTF8DirReader", (PyObject *)&__pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; goto __pyx_L1;}
1657
__pyx_ptype_6bzrlib_12_readdir_pyx_UTF8DirReader = &__pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader;
1659
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":20 */
1660
__pyx_1 = __Pyx_Import(__pyx_n_os, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
1661
if (PyObject_SetAttr(__pyx_m, __pyx_n_os, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
1662
Py_DECREF(__pyx_1); __pyx_1 = 0;
1664
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":21 */
1665
__pyx_1 = __Pyx_Import(__pyx_n_sys, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
1666
if (PyObject_SetAttr(__pyx_m, __pyx_n_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
1667
Py_DECREF(__pyx_1); __pyx_1 = 0;
1669
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":109 */
1670
if (PyObject_SetAttr(__pyx_m, __pyx_n__directory, __pyx_n_directory) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; goto __pyx_L1;}
1672
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":110 */
1673
if (PyObject_SetAttr(__pyx_m, __pyx_n__chardev, __pyx_n_chardev) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; goto __pyx_L1;}
1675
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":111 */
1676
if (PyObject_SetAttr(__pyx_m, __pyx_n__block, __pyx_n_block) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
1678
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":112 */
1679
if (PyObject_SetAttr(__pyx_m, __pyx_n__file, __pyx_n_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;}
1681
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":113 */
1682
if (PyObject_SetAttr(__pyx_m, __pyx_n__fifo, __pyx_n_fifo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
1684
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":114 */
1685
if (PyObject_SetAttr(__pyx_m, __pyx_n__symlink, __pyx_n_symlink) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; goto __pyx_L1;}
1687
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":115 */
1688
if (PyObject_SetAttr(__pyx_m, __pyx_n__socket, __pyx_n_socket) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;}
1690
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":116 */
1691
if (PyObject_SetAttr(__pyx_m, __pyx_n__unknown, __pyx_n_unknown) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
1693
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":117 */
1694
if (PyObject_SetAttr(__pyx_m, __pyx_n__missing, __pyx_n_missing) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
1696
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":162 */
1697
__pyx_1 = PyList_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
1698
Py_INCREF(__pyx_n_osutils);
1699
PyList_SET_ITEM(__pyx_1, 0, __pyx_n_osutils);
1700
__pyx_2 = __Pyx_Import(__pyx_n_bzrlib, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
1701
Py_DECREF(__pyx_1); __pyx_1 = 0;
1702
__pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_osutils); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
1703
if (PyObject_SetAttr(__pyx_m, __pyx_n_osutils, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; goto __pyx_L1;}
1704
Py_DECREF(__pyx_1); __pyx_1 = 0;
1705
Py_DECREF(__pyx_2); __pyx_2 = 0;
1707
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":205 */
1708
Py_INCREF(__pyx_k16p);
1709
__pyx_d1 = __pyx_k16p;
1711
/* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":281 */
1714
Py_XDECREF(__pyx_1);
1715
Py_XDECREF(__pyx_2);
1716
__Pyx_AddTraceback("bzrlib._readdir_pyx");
1719
static char *__pyx_filenames[] = {
1723
/* Runtime support code */
1725
static void __pyx_init_filenames(void) {
1726
__pyx_f = __pyx_filenames;
1729
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
1731
result = PyObject_GetAttr(dict, name);
1733
PyErr_SetObject(PyExc_NameError, name);
1737
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
1741
/* First, check the traceback argument, replacing None with NULL. */
1742
if (tb == Py_None) {
1746
else if (tb != NULL && !PyTraceBack_Check(tb)) {
1747
PyErr_SetString(PyExc_TypeError,
1748
"raise: arg 3 must be a traceback or None");
1751
/* Next, replace a missing value with None */
1752
if (value == NULL) {
1756
#if PY_VERSION_HEX < 0x02050000
1757
if (!PyClass_Check(type))
1759
if (!PyType_Check(type))
1762
/* Raising an instance. The value should be a dummy. */
1763
if (value != Py_None) {
1764
PyErr_SetString(PyExc_TypeError,
1765
"instance exception may not have a separate value");
1768
/* Normalize to raise <class>, <instance> */
1771
#if PY_VERSION_HEX < 0x02050000
1772
if (PyInstance_Check(type)) {
1773
type = (PyObject*) ((PyInstanceObject*)type)->in_class;
1777
PyErr_SetString(PyExc_TypeError,
1778
"raise: exception must be an old-style class or instance");
1782
type = (PyObject*) type->ob_type;
1784
if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
1785
PyErr_SetString(PyExc_TypeError,
1786
"raise: exception class must be a subclass of BaseException");
1791
PyErr_Restore(type, value, tb);
1800
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
1802
*t->p = PyString_FromStringAndSize(t->s, t->n - 1);
1806
PyString_InternInPlace(t->p);
1812
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
1813
PyObject *pycobj = 0;
1816
pycobj = PyCObject_FromVoidPtr(vtable, 0);
1819
if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
1831
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
1832
PyObject *__import__ = 0;
1833
PyObject *empty_list = 0;
1834
PyObject *module = 0;
1835
PyObject *global_dict = 0;
1836
PyObject *empty_dict = 0;
1838
__import__ = PyObject_GetAttrString(__pyx_b, "__import__");
1844
empty_list = PyList_New(0);
1849
global_dict = PyModule_GetDict(__pyx_m);
1852
empty_dict = PyDict_New();
1855
module = PyObject_CallFunction(__import__, "OOOO",
1856
name, global_dict, empty_dict, list);
1858
Py_XDECREF(empty_list);
1859
Py_XDECREF(__import__);
1860
Py_XDECREF(empty_dict);
1864
#include "compile.h"
1865
#include "frameobject.h"
1866
#include "traceback.h"
1868
static void __Pyx_AddTraceback(char *funcname) {
1869
PyObject *py_srcfile = 0;
1870
PyObject *py_funcname = 0;
1871
PyObject *py_globals = 0;
1872
PyObject *empty_tuple = 0;
1873
PyObject *empty_string = 0;
1874
PyCodeObject *py_code = 0;
1875
PyFrameObject *py_frame = 0;
1877
py_srcfile = PyString_FromString(__pyx_filename);
1878
if (!py_srcfile) goto bad;
1879
py_funcname = PyString_FromString(funcname);
1880
if (!py_funcname) goto bad;
1881
py_globals = PyModule_GetDict(__pyx_m);
1882
if (!py_globals) goto bad;
1883
empty_tuple = PyTuple_New(0);
1884
if (!empty_tuple) goto bad;
1885
empty_string = PyString_FromString("");
1886
if (!empty_string) goto bad;
1887
py_code = PyCode_New(
1888
0, /*int argcount,*/
1890
0, /*int stacksize,*/
1892
empty_string, /*PyObject *code,*/
1893
empty_tuple, /*PyObject *consts,*/
1894
empty_tuple, /*PyObject *names,*/
1895
empty_tuple, /*PyObject *varnames,*/
1896
empty_tuple, /*PyObject *freevars,*/
1897
empty_tuple, /*PyObject *cellvars,*/
1898
py_srcfile, /*PyObject *filename,*/
1899
py_funcname, /*PyObject *name,*/
1900
__pyx_lineno, /*int firstlineno,*/
1901
empty_string /*PyObject *lnotab*/
1903
if (!py_code) goto bad;
1904
py_frame = PyFrame_New(
1905
PyThreadState_Get(), /*PyThreadState *tstate,*/
1906
py_code, /*PyCodeObject *code,*/
1907
py_globals, /*PyObject *globals,*/
1908
0 /*PyObject *locals*/
1910
if (!py_frame) goto bad;
1911
py_frame->f_lineno = __pyx_lineno;
1912
PyTraceBack_Here(py_frame);
1914
Py_XDECREF(py_srcfile);
1915
Py_XDECREF(py_funcname);
1916
Py_XDECREF(empty_tuple);
1917
Py_XDECREF(empty_string);
1918
Py_XDECREF(py_code);
1919
Py_XDECREF(py_frame);