~bzr/ubuntu/lucid/bzr/beta-ppa

« back to all changes in this revision

Viewing changes to bzrlib/_readdir_pyx.c

  • Committer: Martin Pool
  • Date: 2010-07-02 07:29:40 UTC
  • mfrom: (129.1.7 packaging-karmic)
  • Revision ID: mbp@sourcefrog.net-20100702072940-hpzq5elg8wjve8rh
* PPA rebuild.
* PPA rebuild for Karmic.
* PPA rebuild for Jaunty.
* PPA rebuild for Hardy.
* From postinst, actually remove the example bash completion scripts.
  (LP: #249452)
* New upstream release.
* New upstream release.
* New upstream release.
* Revert change to Build-depends: Dapper does not have python-central.
  Should be python-support..
* Target ppa..
* Target ppa..
* Target ppa..
* Target ppa..
* New upstream release.
* Switch to dpkg-source 3.0 (quilt) format.
* Bump standards version to 3.8.4.
* Remove embedded copy of python-configobj. Closes: #555336
* Remove embedded copy of python-elementtree. Closes: #555343
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* debian/control: Fix obsolete-relation-form-in-source
  lintian warning. 
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Split out docs into bzr-doc package.
* New upstream release.
* Added John Francesco Ferlito to Uploaders.
* Fix install path to quick-reference guide
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again, again.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to path changes.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Bump standards version to 3.8.3.
* Remove unused patch system.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix copy and paste tab error in .install file
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
 + Fixes compatibility with Python 2.4. Closes: #537708
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream version.
* Bump standards version to 3.8.2.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add python-pyrex to build-deps to ensure C extensions are always build.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix API compatibility version. (Closes: #526233)
* New upstream release.
  + Fixes default format for upgrade command. (Closes: #464688)
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add missing dependency on zlib development library. (Closes:
  #523595)
* Add zlib build-depends.
* Add zlib build-depends.
* Add zlib build-depends.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Move to section vcs.
* Bump standards version to 3.8.1.
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Recommend ca-certificates. (Closes: #452024)
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Update watch file. bazaar now uses launchpad to host its sources.
* Remove patch for inventory root revision copy, applied upstream.
* New upstream release.
* New upstream release.
* New upstream release
* Force removal of files installed in error to /etc/bash_completion.d/
  (LP: #249452)
* New upstream release.
* New upstream release
* New upstream release.
* Bump standards version.
* Include patch for inventory root revision copy, required for bzr-svn.
* New upstream release.
* Remove unused lintian overrides.
* Correct the package version not to be native.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Final 1.5 release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add myself as a co-maintainer.
* Add a Dm-Upload-Allowed: yes header.
* New upstream bugfix release.
* New upstream release.
* Final 1.3 release.
* New upstream release.
* First release candidate of the upcoming 1.3 release.
* Rebuild to fix the problem caused by a build with a broken python-central.
* New upstream release.
* Rebuild for dapper PPA.
* Apply Lamont's patches to fix build-dependencies on dapper.
  (See: https://bugs.launchpad.net/bzr/+bug/189915)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Generated by Pyrex 0.9.8.5 on Fri May 28 05:02:04 2010 */
 
2
 
 
3
#define PY_SSIZE_T_CLEAN
 
4
#include "Python.h"
 
5
#include "structmember.h"
 
6
#ifndef PY_LONG_LONG
 
7
  #define PY_LONG_LONG LONG_LONG
 
8
#endif
 
9
#if PY_VERSION_HEX < 0x02050000
 
10
  typedef int Py_ssize_t;
 
11
  #define PY_SSIZE_T_MAX INT_MAX
 
12
  #define PY_SSIZE_T_MIN INT_MIN
 
13
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
 
14
  #define PyInt_AsSsize_t(o)    PyInt_AsLong(o)
 
15
#endif
 
16
#if !defined(WIN32) && !defined(MS_WINDOWS)
 
17
  #ifndef __stdcall
 
18
    #define __stdcall
 
19
  #endif
 
20
  #ifndef __cdecl
 
21
    #define __cdecl
 
22
  #endif
 
23
#endif
 
24
#ifdef __cplusplus
 
25
#define __PYX_EXTERN_C extern "C"
 
26
#else
 
27
#define __PYX_EXTERN_C extern
 
28
#endif
 
29
#include <math.h>
 
30
#include "python-compat.h"
 
31
#include "errno.h"
 
32
#include "unistd.h"
 
33
#include "stdlib.h"
 
34
#include "sys/types.h"
 
35
#include "sys/stat.h"
 
36
#include "fcntl.h"
 
37
#include "dirent.h"
 
38
#include "readdir.h"
 
39
 
 
40
 
 
41
typedef struct {PyObject **p; int i; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
 
42
 
 
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;
 
48
 
 
49
static char __pyx_mdoc[] = "Wrapper for readdir which returns files ordered by inode.";
 
50
 
 
51
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
 
52
 
 
53
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
54
 
 
55
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
 
56
 
 
57
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
 
58
 
 
59
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
 
60
 
 
61
static void __Pyx_AddTraceback(char *funcname); /*proto*/
 
62
 
 
63
/* Declarations from bzrlib._readdir_pyx */
 
64
 
 
65
 
 
66
/* Declarations from implementation of bzrlib._readdir_pyx */
 
67
 
 
68
struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat {
 
69
  PyObject_HEAD
 
70
  struct stat _st;
 
71
};
 
72
 
 
73
struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader {
 
74
  PyObject_HEAD
 
75
  struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *__pyx_vtab;
 
76
  PyObject *_safe_utf8;
 
77
  PyObject *_directory;
 
78
  PyObject *_chardev;
 
79
  PyObject *_block;
 
80
  PyObject *_file;
 
81
  PyObject *_fifo;
 
82
  PyObject *_symlink;
 
83
  PyObject *_socket;
 
84
  PyObject *_unknown;
 
85
};
 
86
 
 
87
 
 
88
 
 
89
struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader {
 
90
  PyObject *(*_kind_from_mode)(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader *,int);
 
91
};
 
92
static struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader *__pyx_vtabptr_6bzrlib_12_readdir_pyx_UTF8DirReader;
 
93
 
 
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*/
 
98
 
 
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";
 
137
 
 
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;
 
165
 
 
166
static PyObject *__pyx_k15p;
 
167
static PyObject *__pyx_k16p;
 
168
static PyObject *__pyx_k17p;
 
169
static PyObject *__pyx_k18p;
 
170
 
 
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)},
 
203
  {0, 0, 0, 0}
 
204
};
 
205
 
 
206
static PyObject *__pyx_d1;
 
207
 
 
208
 
 
209
/* Implementation of bzrlib._readdir_pyx */
 
210
 
 
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) {
 
213
  PyObject *__pyx_r;
 
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;}
 
217
  __pyx_r = __pyx_1;
 
218
  __pyx_1 = 0;
 
219
  goto __pyx_L0;
 
220
 
 
221
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
222
  goto __pyx_L0;
 
223
  __pyx_L1:;
 
224
  Py_XDECREF(__pyx_1);
 
225
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_dev.__get__");
 
226
  __pyx_r = 0;
 
227
  __pyx_L0:;
 
228
  Py_DECREF(__pyx_v_self);
 
229
  return __pyx_r;
 
230
}
 
231
 
 
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) {
 
234
  PyObject *__pyx_r;
 
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;}
 
238
  __pyx_r = __pyx_1;
 
239
  __pyx_1 = 0;
 
240
  goto __pyx_L0;
 
241
 
 
242
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
243
  goto __pyx_L0;
 
244
  __pyx_L1:;
 
245
  Py_XDECREF(__pyx_1);
 
246
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_ino.__get__");
 
247
  __pyx_r = 0;
 
248
  __pyx_L0:;
 
249
  Py_DECREF(__pyx_v_self);
 
250
  return __pyx_r;
 
251
}
 
252
 
 
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) {
 
255
  PyObject *__pyx_r;
 
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;}
 
259
  __pyx_r = __pyx_1;
 
260
  __pyx_1 = 0;
 
261
  goto __pyx_L0;
 
262
 
 
263
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
264
  goto __pyx_L0;
 
265
  __pyx_L1:;
 
266
  Py_XDECREF(__pyx_1);
 
267
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_mode.__get__");
 
268
  __pyx_r = 0;
 
269
  __pyx_L0:;
 
270
  Py_DECREF(__pyx_v_self);
 
271
  return __pyx_r;
 
272
}
 
273
 
 
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) {
 
276
  PyObject *__pyx_r;
 
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;}
 
280
  __pyx_r = __pyx_1;
 
281
  __pyx_1 = 0;
 
282
  goto __pyx_L0;
 
283
 
 
284
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
285
  goto __pyx_L0;
 
286
  __pyx_L1:;
 
287
  Py_XDECREF(__pyx_1);
 
288
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_ctime.__get__");
 
289
  __pyx_r = 0;
 
290
  __pyx_L0:;
 
291
  Py_DECREF(__pyx_v_self);
 
292
  return __pyx_r;
 
293
}
 
294
 
 
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) {
 
297
  PyObject *__pyx_r;
 
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;}
 
301
  __pyx_r = __pyx_1;
 
302
  __pyx_1 = 0;
 
303
  goto __pyx_L0;
 
304
 
 
305
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
306
  goto __pyx_L0;
 
307
  __pyx_L1:;
 
308
  Py_XDECREF(__pyx_1);
 
309
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_mtime.__get__");
 
310
  __pyx_r = 0;
 
311
  __pyx_L0:;
 
312
  Py_DECREF(__pyx_v_self);
 
313
  return __pyx_r;
 
314
}
 
315
 
 
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) {
 
318
  PyObject *__pyx_r;
 
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;}
 
322
  __pyx_r = __pyx_1;
 
323
  __pyx_1 = 0;
 
324
  goto __pyx_L0;
 
325
 
 
326
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
327
  goto __pyx_L0;
 
328
  __pyx_L1:;
 
329
  Py_XDECREF(__pyx_1);
 
330
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.st_size.__get__");
 
331
  __pyx_r = 0;
 
332
  __pyx_L0:;
 
333
  Py_DECREF(__pyx_v_self);
 
334
  return __pyx_r;
 
335
}
 
336
 
 
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) {
 
339
  PyObject *__pyx_r;
 
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);
 
368
  Py_INCREF(Py_None);
 
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);
 
372
  __pyx_1 = 0;
 
373
  __pyx_2 = 0;
 
374
  __pyx_3 = 0;
 
375
  __pyx_4 = 0;
 
376
  __pyx_5 = 0;
 
377
  __pyx_6 = 0;
 
378
  __pyx_7 = 0;
 
379
  __pyx_8 = 0;
 
380
  __pyx_9 = 0;
 
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;
 
383
  __pyx_r = __pyx_1;
 
384
  __pyx_1 = 0;
 
385
  goto __pyx_L0;
 
386
 
 
387
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
388
  goto __pyx_L0;
 
389
  __pyx_L1:;
 
390
  Py_XDECREF(__pyx_1);
 
391
  Py_XDECREF(__pyx_2);
 
392
  Py_XDECREF(__pyx_3);
 
393
  Py_XDECREF(__pyx_4);
 
394
  Py_XDECREF(__pyx_5);
 
395
  Py_XDECREF(__pyx_6);
 
396
  Py_XDECREF(__pyx_7);
 
397
  Py_XDECREF(__pyx_8);
 
398
  Py_XDECREF(__pyx_9);
 
399
  Py_XDECREF(__pyx_10);
 
400
  __Pyx_AddTraceback("bzrlib._readdir_pyx._Stat.__repr__");
 
401
  __pyx_r = 0;
 
402
  __pyx_L0:;
 
403
  Py_DECREF(__pyx_v_self);
 
404
  return __pyx_r;
 
405
}
 
406
 
 
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) {
 
409
  int __pyx_r;
 
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);
 
415
 
 
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;
 
422
  __pyx_2 = 0;
 
423
 
 
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;
 
428
  __pyx_1 = 0;
 
429
 
 
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;
 
434
  __pyx_2 = 0;
 
435
 
 
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;
 
440
  __pyx_1 = 0;
 
441
 
 
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;
 
446
  __pyx_2 = 0;
 
447
 
 
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;
 
452
  __pyx_1 = 0;
 
453
 
 
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;
 
458
  __pyx_2 = 0;
 
459
 
 
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;
 
464
  __pyx_1 = 0;
 
465
 
 
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;
 
470
  __pyx_2 = 0;
 
471
 
 
472
  __pyx_r = 0;
 
473
  goto __pyx_L0;
 
474
  __pyx_L1:;
 
475
  Py_XDECREF(__pyx_1);
 
476
  Py_XDECREF(__pyx_2);
 
477
  __Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.__init__");
 
478
  __pyx_r = -1;
 
479
  __pyx_L0:;
 
480
  Py_DECREF(__pyx_v_self);
 
481
  return __pyx_r;
 
482
}
 
483
 
 
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) {
 
487
  int __pyx_v_mode;
 
488
  PyObject *__pyx_r;
 
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;}
 
494
  __pyx_r = __pyx_1;
 
495
  __pyx_1 = 0;
 
496
  goto __pyx_L0;
 
497
 
 
498
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
499
  goto __pyx_L0;
 
500
  __pyx_L1:;
 
501
  Py_XDECREF(__pyx_1);
 
502
  __Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.kind_from_mode");
 
503
  __pyx_r = 0;
 
504
  __pyx_L0:;
 
505
  Py_DECREF(__pyx_v_self);
 
506
  return __pyx_r;
 
507
}
 
508
 
 
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) {
 
510
  PyObject *__pyx_r;
 
511
  int __pyx_1;
 
512
  Py_INCREF(__pyx_v_self);
 
513
 
 
514
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":189 */
 
515
  __pyx_1 = S_ISREG(__pyx_v_mode);
 
516
  if (__pyx_1) {
 
517
    Py_INCREF(__pyx_v_self->_file);
 
518
    __pyx_r = __pyx_v_self->_file;
 
519
    goto __pyx_L0;
 
520
    goto __pyx_L2;
 
521
  }
 
522
  __pyx_L2:;
 
523
 
 
524
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":191 */
 
525
  __pyx_1 = S_ISDIR(__pyx_v_mode);
 
526
  if (__pyx_1) {
 
527
    Py_INCREF(__pyx_v_self->_directory);
 
528
    __pyx_r = __pyx_v_self->_directory;
 
529
    goto __pyx_L0;
 
530
    goto __pyx_L3;
 
531
  }
 
532
  __pyx_L3:;
 
533
 
 
534
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":193 */
 
535
  __pyx_1 = S_ISCHR(__pyx_v_mode);
 
536
  if (__pyx_1) {
 
537
    Py_INCREF(__pyx_v_self->_chardev);
 
538
    __pyx_r = __pyx_v_self->_chardev;
 
539
    goto __pyx_L0;
 
540
    goto __pyx_L4;
 
541
  }
 
542
  __pyx_L4:;
 
543
 
 
544
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":195 */
 
545
  __pyx_1 = S_ISBLK(__pyx_v_mode);
 
546
  if (__pyx_1) {
 
547
    Py_INCREF(__pyx_v_self->_block);
 
548
    __pyx_r = __pyx_v_self->_block;
 
549
    goto __pyx_L0;
 
550
    goto __pyx_L5;
 
551
  }
 
552
  __pyx_L5:;
 
553
 
 
554
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":197 */
 
555
  __pyx_1 = S_ISLNK(__pyx_v_mode);
 
556
  if (__pyx_1) {
 
557
    Py_INCREF(__pyx_v_self->_symlink);
 
558
    __pyx_r = __pyx_v_self->_symlink;
 
559
    goto __pyx_L0;
 
560
    goto __pyx_L6;
 
561
  }
 
562
  __pyx_L6:;
 
563
 
 
564
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":199 */
 
565
  __pyx_1 = S_ISFIFO(__pyx_v_mode);
 
566
  if (__pyx_1) {
 
567
    Py_INCREF(__pyx_v_self->_fifo);
 
568
    __pyx_r = __pyx_v_self->_fifo;
 
569
    goto __pyx_L0;
 
570
    goto __pyx_L7;
 
571
  }
 
572
  __pyx_L7:;
 
573
 
 
574
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":201 */
 
575
  __pyx_1 = S_ISSOCK(__pyx_v_mode);
 
576
  if (__pyx_1) {
 
577
    Py_INCREF(__pyx_v_self->_socket);
 
578
    __pyx_r = __pyx_v_self->_socket;
 
579
    goto __pyx_L0;
 
580
    goto __pyx_L8;
 
581
  }
 
582
  __pyx_L8:;
 
583
 
 
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;
 
587
  goto __pyx_L0;
 
588
 
 
589
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
590
  __pyx_L0:;
 
591
  Py_DECREF(__pyx_v_self);
 
592
  return __pyx_r;
 
593
}
 
594
 
 
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;
 
600
  PyObject *__pyx_r;
 
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);
 
622
  Py_INCREF(Py_None);
 
623
  PyTuple_SET_ITEM(__pyx_1, 1, Py_None);
 
624
  Py_INCREF(Py_None);
 
625
  PyTuple_SET_ITEM(__pyx_1, 2, Py_None);
 
626
  Py_INCREF(Py_None);
 
627
  PyTuple_SET_ITEM(__pyx_1, 3, Py_None);
 
628
  PyTuple_SET_ITEM(__pyx_1, 4, __pyx_3);
 
629
  __pyx_2 = 0;
 
630
  __pyx_3 = 0;
 
631
  __pyx_r = __pyx_1;
 
632
  __pyx_1 = 0;
 
633
  goto __pyx_L0;
 
634
 
 
635
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
636
  goto __pyx_L0;
 
637
  __pyx_L1:;
 
638
  Py_XDECREF(__pyx_1);
 
639
  Py_XDECREF(__pyx_2);
 
640
  Py_XDECREF(__pyx_3);
 
641
  __Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.top_prefix_to_starting_dir");
 
642
  __pyx_r = 0;
 
643
  __pyx_L0:;
 
644
  Py_DECREF(__pyx_v_self);
 
645
  Py_DECREF(__pyx_v_top);
 
646
  Py_DECREF(__pyx_v_prefix);
 
647
  return __pyx_r;
 
648
}
 
649
 
 
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;
 
656
  int __pyx_v_index;
 
657
  int __pyx_v_length;
 
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;
 
664
  PyObject *__pyx_r;
 
665
  Py_ssize_t __pyx_1;
 
666
  PyObject *__pyx_2 = 0;
 
667
  int __pyx_3;
 
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);
 
679
 
 
680
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":230 */
 
681
  __pyx_1 = PyString_Size(__pyx_v_prefix);
 
682
  if (__pyx_1) {
 
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;
 
686
    __pyx_2 = 0;
 
687
    goto __pyx_L2;
 
688
  }
 
689
  /*else*/ {
 
690
    Py_INCREF(__pyx_k16p);
 
691
    Py_DECREF(__pyx_v_relprefix);
 
692
    __pyx_v_relprefix = __pyx_k16p;
 
693
  }
 
694
  __pyx_L2:;
 
695
 
 
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;
 
700
  __pyx_2 = 0;
 
701
 
 
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;
 
706
  __pyx_2 = 0;
 
707
 
 
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;
 
711
 
 
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) {
 
714
 
 
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);
 
717
 
 
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));
 
722
 
 
723
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":248 */
 
724
    __pyx_v_new_val_obj = ((PyObject *)__pyx_v_relprefix);
 
725
 
 
726
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":249 */
 
727
    Py_INCREF(__pyx_v_relprefix);
 
728
 
 
729
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":250 */
 
730
    PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
 
731
 
 
732
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":251 */
 
733
    __pyx_3 = (NULL == __pyx_v_new_val_obj);
 
734
    if (__pyx_3) {
 
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;}
 
743
      goto __pyx_L5;
 
744
    }
 
745
    __pyx_L5:;
 
746
 
 
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;}
 
749
 
 
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;
 
757
    __pyx_4 = 0;
 
758
 
 
759
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":259 */
 
760
    Py_INCREF(__pyx_v_newval);
 
761
 
 
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;}
 
764
 
 
765
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":264 */
 
766
    __pyx_v_new_val_obj = ((PyObject *)__pyx_v_top_slash);
 
767
 
 
768
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":265 */
 
769
    Py_INCREF(__pyx_v_top_slash);
 
770
 
 
771
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":266 */
 
772
    PyString_Concat((&__pyx_v_new_val_obj),__pyx_v_name);
 
773
 
 
774
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":267 */
 
775
    __pyx_3 = (NULL == __pyx_v_new_val_obj);
 
776
    if (__pyx_3) {
 
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;}
 
785
      goto __pyx_L6;
 
786
    }
 
787
    __pyx_L6:;
 
788
 
 
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;}
 
791
  }
 
792
 
 
793
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":272 */
 
794
  Py_INCREF(__pyx_v_result);
 
795
  __pyx_r = __pyx_v_result;
 
796
  goto __pyx_L0;
 
797
 
 
798
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
799
  goto __pyx_L0;
 
800
  __pyx_L1:;
 
801
  Py_XDECREF(__pyx_2);
 
802
  Py_XDECREF(__pyx_4);
 
803
  __Pyx_AddTraceback("bzrlib._readdir_pyx.UTF8DirReader.read_dir");
 
804
  __pyx_r = 0;
 
805
  __pyx_L0:;
 
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);
 
814
  return __pyx_r;
 
815
}
 
816
 
 
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) {
 
818
  PyObject *__pyx_r;
 
819
  int __pyx_1;
 
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);
 
825
 
 
826
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":276 */
 
827
  __pyx_1 = (__pyx_v_errnum == EINTR);
 
828
  if (__pyx_1) {
 
829
    __pyx_1 = PyErr_CheckSignals(); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; goto __pyx_L1;}
 
830
    goto __pyx_L2;
 
831
  }
 
832
  __pyx_L2:;
 
833
 
 
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);
 
846
  __pyx_2 = 0;
 
847
  __pyx_5 = 0;
 
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;}
 
853
 
 
854
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
855
  goto __pyx_L0;
 
856
  __pyx_L1:;
 
857
  Py_XDECREF(__pyx_2);
 
858
  Py_XDECREF(__pyx_3);
 
859
  Py_XDECREF(__pyx_4);
 
860
  Py_XDECREF(__pyx_5);
 
861
  __Pyx_AddTraceback("bzrlib._readdir_pyx.raise_os_error");
 
862
  __pyx_r = 0;
 
863
  __pyx_L0:;
 
864
  Py_DECREF(__pyx_v_path);
 
865
  return __pyx_r;
 
866
}
 
867
 
 
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;
 
872
  char *__pyx_v_name;
 
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;
 
878
  PyObject *__pyx_r;
 
879
  int __pyx_1;
 
880
  PyObject *__pyx_2 = 0;
 
881
  char *__pyx_3;
 
882
  int __pyx_4;
 
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);
 
889
 
 
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;
 
893
  if (__pyx_1) {
 
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;
 
896
  }
 
897
  if (__pyx_1) {
 
898
 
 
899
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":306 */
 
900
    __pyx_v_orig_dir_fd = open(__pyx_k18,O_RDONLY,0);
 
901
 
 
902
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":307 */
 
903
    __pyx_1 = (__pyx_v_orig_dir_fd == (-1));
 
904
    if (__pyx_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;
 
907
      goto __pyx_L3;
 
908
    }
 
909
    __pyx_L3:;
 
910
 
 
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));
 
914
    if (__pyx_1) {
 
915
 
 
916
      /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":312 */
 
917
      close(__pyx_v_orig_dir_fd);
 
918
 
 
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;
 
922
      goto __pyx_L4;
 
923
    }
 
924
    __pyx_L4:;
 
925
    goto __pyx_L2;
 
926
  }
 
927
  /*else*/ {
 
928
    __pyx_v_orig_dir_fd = (-1);
 
929
  }
 
930
  __pyx_L2:;
 
931
 
 
932
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":317 */
 
933
  /*try:*/ {
 
934
 
 
935
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":318 */
 
936
    __pyx_v_the_dir = opendir(__pyx_k18);
 
937
 
 
938
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":319 */
 
939
    __pyx_1 = (NULL == __pyx_v_the_dir);
 
940
    if (__pyx_1) {
 
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;
 
943
      goto __pyx_L8;
 
944
    }
 
945
    __pyx_L8:;
 
946
 
 
947
    /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":321 */
 
948
    /*try:*/ {
 
949
 
 
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;
 
954
      __pyx_2 = 0;
 
955
 
 
956
      /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":323 */
 
957
      __pyx_v_entry = (&__pyx_v_sentinel);
 
958
 
 
959
      /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":324 */
 
960
      while (1) {
 
961
        __pyx_1 = (__pyx_v_entry != NULL);
 
962
        if (!__pyx_1) break;
 
963
 
 
964
        /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":328 */
 
965
        while (1) {
 
966
          __pyx_1 = PyObject_IsTrue(Py_True); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L10;}
 
967
          if (!__pyx_1) break;
 
968
 
 
969
          /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":329 */
 
970
          errno = 0;
 
971
 
 
972
          /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":330 */
 
973
          __pyx_v_entry = readdir(__pyx_v_the_dir);
 
974
 
 
975
          /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":331 */
 
976
          __pyx_1 = (__pyx_v_entry == NULL);
 
977
          if (__pyx_1) {
 
978
            __pyx_1 = (errno == EAGAIN);
 
979
            if (!__pyx_1) {
 
980
              __pyx_1 = (errno == EINTR);
 
981
            }
 
982
          }
 
983
          if (__pyx_1) {
 
984
 
 
985
            /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":332 */
 
986
            __pyx_1 = (errno == EINTR);
 
987
            if (__pyx_1) {
 
988
              __pyx_1 = PyErr_CheckSignals(); if (__pyx_1 == (-1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L10;}
 
989
              goto __pyx_L17;
 
990
            }
 
991
            __pyx_L17:;
 
992
 
 
993
            /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":335 */
 
994
            goto __pyx_L14;
 
995
            goto __pyx_L16;
 
996
          }
 
997
          /*else*/ {
 
998
            goto __pyx_L15;
 
999
          }
 
1000
          __pyx_L16:;
 
1001
          __pyx_L14:;
 
1002
        }
 
1003
        __pyx_L15:;
 
1004
 
 
1005
        /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":338 */
 
1006
        __pyx_1 = (__pyx_v_entry == NULL);
 
1007
        if (__pyx_1) {
 
1008
          __pyx_1 = (errno == ENOTDIR);
 
1009
          if (!__pyx_1) {
 
1010
            __pyx_1 = (errno == 0);
 
1011
          }
 
1012
          if (__pyx_1) {
 
1013
            goto __pyx_L12;
 
1014
            goto __pyx_L19;
 
1015
          }
 
1016
          /*else*/ {
 
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;
 
1019
          }
 
1020
          __pyx_L19:;
 
1021
          goto __pyx_L18;
 
1022
        }
 
1023
        __pyx_L18:;
 
1024
 
 
1025
        /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":346 */
 
1026
        __pyx_v_name = __pyx_v_entry->d_name;
 
1027
 
 
1028
        /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":347 */
 
1029
        __pyx_1 = ((__pyx_v_name[0]) == '.');
 
1030
        if (__pyx_1) {
 
1031
          __pyx_1 = ((__pyx_v_name[1]) == 0);
 
1032
          if (!__pyx_1) {
 
1033
            __pyx_1 = ((__pyx_v_name[1]) == '.');
 
1034
            if (__pyx_1) {
 
1035
              __pyx_1 = ((__pyx_v_name[2]) == 0);
 
1036
            }
 
1037
          }
 
1038
        }
 
1039
        __pyx_4 = (!__pyx_1);
 
1040
        if (__pyx_4) {
 
1041
 
 
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);
 
1046
          __pyx_2 = 0;
 
1047
 
 
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));
 
1050
 
 
1051
          /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":353 */
 
1052
          __pyx_1 = (__pyx_v_stat_result != 0);
 
1053
          if (__pyx_1) {
 
1054
            __pyx_4 = (errno != ENOENT);
 
1055
            if (__pyx_4) {
 
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;
 
1064
              goto __pyx_L22;
 
1065
            }
 
1066
            /*else*/ {
 
1067
              goto __pyx_L12;
 
1068
            }
 
1069
            __pyx_L22:;
 
1070
            goto __pyx_L21;
 
1071
          }
 
1072
          __pyx_L21:;
 
1073
 
 
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);
 
1080
          Py_INCREF(Py_None);
 
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));
 
1084
          Py_INCREF(Py_None);
 
1085
          PyTuple_SET_ITEM(__pyx_2, 4, Py_None);
 
1086
          __pyx_5 = 0;
 
1087
          __pyx_6 = 0;
 
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;
 
1090
          goto __pyx_L20;
 
1091
        }
 
1092
        __pyx_L20:;
 
1093
        __pyx_L12:;
 
1094
      }
 
1095
    }
 
1096
    /*finally:*/ {
 
1097
      int __pyx_why;
 
1098
      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
1099
      int __pyx_exc_lineno;
 
1100
      __pyx_why = 0; goto __pyx_L11;
 
1101
      __pyx_L10: {
 
1102
        __pyx_why = 4;
 
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;
 
1108
        goto __pyx_L11;
 
1109
      }
 
1110
      __pyx_L11:;
 
1111
      __pyx_4 = ((-1) == closedir(__pyx_v_the_dir));
 
1112
      if (__pyx_4) {
 
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;
 
1115
        goto __pyx_L24;
 
1116
      }
 
1117
      __pyx_L24:;
 
1118
      goto __pyx_L25;
 
1119
      __pyx_L23:;
 
1120
      if (__pyx_why == 4) {
 
1121
        Py_XDECREF(__pyx_exc_type);
 
1122
        Py_XDECREF(__pyx_exc_value);
 
1123
        Py_XDECREF(__pyx_exc_tb);
 
1124
      }
 
1125
      goto __pyx_L6;
 
1126
      __pyx_L25:;
 
1127
      switch (__pyx_why) {
 
1128
        case 4: {
 
1129
          PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
1130
          __pyx_lineno = __pyx_exc_lineno;
 
1131
          __pyx_exc_type = 0;
 
1132
          __pyx_exc_value = 0;
 
1133
          __pyx_exc_tb = 0;
 
1134
          goto __pyx_L6;
 
1135
        }
 
1136
      }
 
1137
    }
 
1138
  }
 
1139
  /*finally:*/ {
 
1140
    int __pyx_why;
 
1141
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
1142
    int __pyx_exc_lineno;
 
1143
    __pyx_why = 0; goto __pyx_L7;
 
1144
    __pyx_L6: {
 
1145
      __pyx_why = 4;
 
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;
 
1151
      goto __pyx_L7;
 
1152
    }
 
1153
    __pyx_L7:;
 
1154
    __pyx_1 = ((-1) != __pyx_v_orig_dir_fd);
 
1155
    if (__pyx_1) {
 
1156
 
 
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;
 
1161
 
 
1162
      /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":377 */
 
1163
      __pyx_4 = ((-1) == fchdir(__pyx_v_orig_dir_fd));
 
1164
      if (__pyx_4) {
 
1165
        Py_INCREF(Py_True);
 
1166
        Py_DECREF(__pyx_v_failed);
 
1167
        __pyx_v_failed = Py_True;
 
1168
        goto __pyx_L28;
 
1169
      }
 
1170
      __pyx_L28:;
 
1171
 
 
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;}
 
1175
      if (!__pyx_1) {
 
1176
        Py_DECREF(__pyx_6); __pyx_6 = 0;
 
1177
        __pyx_6 = __pyx_v_failed;
 
1178
        Py_INCREF(__pyx_6);
 
1179
      }
 
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;
 
1182
      if (__pyx_4) {
 
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;
 
1185
        goto __pyx_L29;
 
1186
      }
 
1187
      __pyx_L29:;
 
1188
      goto __pyx_L27;
 
1189
    }
 
1190
    __pyx_L27:;
 
1191
    goto __pyx_L30;
 
1192
    __pyx_L26:;
 
1193
    if (__pyx_why == 4) {
 
1194
      Py_XDECREF(__pyx_exc_type);
 
1195
      Py_XDECREF(__pyx_exc_value);
 
1196
      Py_XDECREF(__pyx_exc_tb);
 
1197
    }
 
1198
    goto __pyx_L1;
 
1199
    __pyx_L30:;
 
1200
    switch (__pyx_why) {
 
1201
      case 4: {
 
1202
        PyErr_Restore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
1203
        __pyx_lineno = __pyx_exc_lineno;
 
1204
        __pyx_exc_type = 0;
 
1205
        __pyx_exc_value = 0;
 
1206
        __pyx_exc_tb = 0;
 
1207
        goto __pyx_L1;
 
1208
      }
 
1209
    }
 
1210
  }
 
1211
 
 
1212
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":383 */
 
1213
  Py_INCREF(__pyx_v_result);
 
1214
  __pyx_r = __pyx_v_result;
 
1215
  goto __pyx_L0;
 
1216
 
 
1217
  __pyx_r = Py_None; Py_INCREF(Py_None);
 
1218
  goto __pyx_L0;
 
1219
  __pyx_L1:;
 
1220
  Py_XDECREF(__pyx_2);
 
1221
  Py_XDECREF(__pyx_5);
 
1222
  Py_XDECREF(__pyx_6);
 
1223
  __Pyx_AddTraceback("bzrlib._readdir_pyx._read_dir");
 
1224
  __pyx_r = 0;
 
1225
  __pyx_L0:;
 
1226
  Py_DECREF(__pyx_v_statvalue);
 
1227
  Py_DECREF(__pyx_v_result);
 
1228
  Py_DECREF(__pyx_v_failed);
 
1229
  Py_DECREF(__pyx_v_path);
 
1230
  return __pyx_r;
 
1231
}
 
1232
 
 
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);
 
1235
  if (!o) return 0;
 
1236
  return o;
 
1237
}
 
1238
 
 
1239
static void __pyx_tp_dealloc_6bzrlib_12_readdir_pyx__Stat(PyObject *o) {
 
1240
  (*o->ob_type->tp_free)(o);
 
1241
}
 
1242
 
 
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);
 
1245
}
 
1246
 
 
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);
 
1249
}
 
1250
 
 
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);
 
1253
}
 
1254
 
 
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);
 
1257
}
 
1258
 
 
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);
 
1261
}
 
1262
 
 
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);
 
1265
}
 
1266
 
 
1267
static struct PyMethodDef __pyx_methods_6bzrlib_12_readdir_pyx__Stat[] = {
 
1268
  {0, 0, 0, 0}
 
1269
};
 
1270
 
 
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},
 
1278
  {0, 0, 0, 0, 0}
 
1279
};
 
1280
 
 
1281
static PyNumberMethods __pyx_tp_as_number__Stat = {
 
1282
  0, /*nb_add*/
 
1283
  0, /*nb_subtract*/
 
1284
  0, /*nb_multiply*/
 
1285
  0, /*nb_divide*/
 
1286
  0, /*nb_remainder*/
 
1287
  0, /*nb_divmod*/
 
1288
  0, /*nb_power*/
 
1289
  0, /*nb_negative*/
 
1290
  0, /*nb_positive*/
 
1291
  0, /*nb_absolute*/
 
1292
  0, /*nb_nonzero*/
 
1293
  0, /*nb_invert*/
 
1294
  0, /*nb_lshift*/
 
1295
  0, /*nb_rshift*/
 
1296
  0, /*nb_and*/
 
1297
  0, /*nb_xor*/
 
1298
  0, /*nb_or*/
 
1299
  0, /*nb_coerce*/
 
1300
  0, /*nb_int*/
 
1301
  0, /*nb_long*/
 
1302
  0, /*nb_float*/
 
1303
  0, /*nb_oct*/
 
1304
  0, /*nb_hex*/
 
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
 
1321
  0, /*nb_index*/
 
1322
  #endif
 
1323
};
 
1324
 
 
1325
static PySequenceMethods __pyx_tp_as_sequence__Stat = {
 
1326
  0, /*sq_length*/
 
1327
  0, /*sq_concat*/
 
1328
  0, /*sq_repeat*/
 
1329
  0, /*sq_item*/
 
1330
  0, /*sq_slice*/
 
1331
  0, /*sq_ass_item*/
 
1332
  0, /*sq_ass_slice*/
 
1333
  0, /*sq_contains*/
 
1334
  0, /*sq_inplace_concat*/
 
1335
  0, /*sq_inplace_repeat*/
 
1336
};
 
1337
 
 
1338
static PyMappingMethods __pyx_tp_as_mapping__Stat = {
 
1339
  0, /*mp_length*/
 
1340
  0, /*mp_subscript*/
 
1341
  0, /*mp_ass_subscript*/
 
1342
};
 
1343
 
 
1344
static PyBufferProcs __pyx_tp_as_buffer__Stat = {
 
1345
  0, /*bf_getreadbuffer*/
 
1346
  0, /*bf_getwritebuffer*/
 
1347
  0, /*bf_getsegcount*/
 
1348
  0, /*bf_getcharbuffer*/
 
1349
};
 
1350
 
 
1351
PyTypeObject __pyx_type_6bzrlib_12_readdir_pyx__Stat = {
 
1352
  PyObject_HEAD_INIT(0)
 
1353
  0, /*ob_size*/
 
1354
  "bzrlib._readdir_pyx._Stat", /*tp_name*/
 
1355
  sizeof(struct __pyx_obj_6bzrlib_12_readdir_pyx__Stat), /*tp_basicsize*/
 
1356
  0, /*tp_itemsize*/
 
1357
  __pyx_tp_dealloc_6bzrlib_12_readdir_pyx__Stat, /*tp_dealloc*/
 
1358
  0, /*tp_print*/
 
1359
  0, /*tp_getattr*/
 
1360
  0, /*tp_setattr*/
 
1361
  0, /*tp_compare*/
 
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*/
 
1366
  0, /*tp_hash*/
 
1367
  0, /*tp_call*/
 
1368
  0, /*tp_str*/
 
1369
  0, /*tp_getattro*/
 
1370
  0, /*tp_setattro*/
 
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*/
 
1374
  0, /*tp_traverse*/
 
1375
  0, /*tp_clear*/
 
1376
  0, /*tp_richcompare*/
 
1377
  0, /*tp_weaklistoffset*/
 
1378
  0, /*tp_iter*/
 
1379
  0, /*tp_iternext*/
 
1380
  __pyx_methods_6bzrlib_12_readdir_pyx__Stat, /*tp_methods*/
 
1381
  0, /*tp_members*/
 
1382
  __pyx_getsets_6bzrlib_12_readdir_pyx__Stat, /*tp_getset*/
 
1383
  0, /*tp_base*/
 
1384
  0, /*tp_dict*/
 
1385
  0, /*tp_descr_get*/
 
1386
  0, /*tp_descr_set*/
 
1387
  0, /*tp_dictoffset*/
 
1388
  0, /*tp_init*/
 
1389
  0, /*tp_alloc*/
 
1390
  __pyx_tp_new_6bzrlib_12_readdir_pyx__Stat, /*tp_new*/
 
1391
  0, /*tp_free*/
 
1392
  0, /*tp_is_gc*/
 
1393
  0, /*tp_bases*/
 
1394
  0, /*tp_mro*/
 
1395
  0, /*tp_cache*/
 
1396
  0, /*tp_subclasses*/
 
1397
  0, /*tp_weaklist*/
 
1398
};
 
1399
static struct __pyx_vtabstruct_6bzrlib_12_readdir_pyx_UTF8DirReader __pyx_vtable_6bzrlib_12_readdir_pyx_UTF8DirReader;
 
1400
 
 
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);
 
1404
  if (!o) return 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);
 
1416
  return o;
 
1417
}
 
1418
 
 
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);
 
1431
}
 
1432
 
 
1433
static int __pyx_tp_traverse_6bzrlib_12_readdir_pyx_UTF8DirReader(PyObject *o, visitproc v, void *a) {
 
1434
  int e;
 
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;
 
1438
  }
 
1439
  if (p->_directory) {
 
1440
    e = (*v)(p->_directory, a); if (e) return e;
 
1441
  }
 
1442
  if (p->_chardev) {
 
1443
    e = (*v)(p->_chardev, a); if (e) return e;
 
1444
  }
 
1445
  if (p->_block) {
 
1446
    e = (*v)(p->_block, a); if (e) return e;
 
1447
  }
 
1448
  if (p->_file) {
 
1449
    e = (*v)(p->_file, a); if (e) return e;
 
1450
  }
 
1451
  if (p->_fifo) {
 
1452
    e = (*v)(p->_fifo, a); if (e) return e;
 
1453
  }
 
1454
  if (p->_symlink) {
 
1455
    e = (*v)(p->_symlink, a); if (e) return e;
 
1456
  }
 
1457
  if (p->_socket) {
 
1458
    e = (*v)(p->_socket, a); if (e) return e;
 
1459
  }
 
1460
  if (p->_unknown) {
 
1461
    e = (*v)(p->_unknown, a); if (e) return e;
 
1462
  }
 
1463
  return 0;
 
1464
}
 
1465
 
 
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;
 
1468
  PyObject *t;
 
1469
  t = p->_safe_utf8; 
 
1470
  p->_safe_utf8 = Py_None; Py_INCREF(Py_None);
 
1471
  Py_XDECREF(t);
 
1472
  t = p->_directory; 
 
1473
  p->_directory = Py_None; Py_INCREF(Py_None);
 
1474
  Py_XDECREF(t);
 
1475
  t = p->_chardev; 
 
1476
  p->_chardev = Py_None; Py_INCREF(Py_None);
 
1477
  Py_XDECREF(t);
 
1478
  t = p->_block; 
 
1479
  p->_block = Py_None; Py_INCREF(Py_None);
 
1480
  Py_XDECREF(t);
 
1481
  t = p->_file; 
 
1482
  p->_file = Py_None; Py_INCREF(Py_None);
 
1483
  Py_XDECREF(t);
 
1484
  t = p->_fifo; 
 
1485
  p->_fifo = Py_None; Py_INCREF(Py_None);
 
1486
  Py_XDECREF(t);
 
1487
  t = p->_symlink; 
 
1488
  p->_symlink = Py_None; Py_INCREF(Py_None);
 
1489
  Py_XDECREF(t);
 
1490
  t = p->_socket; 
 
1491
  p->_socket = Py_None; Py_INCREF(Py_None);
 
1492
  Py_XDECREF(t);
 
1493
  t = p->_unknown; 
 
1494
  p->_unknown = Py_None; Py_INCREF(Py_None);
 
1495
  Py_XDECREF(t);
 
1496
  return 0;
 
1497
}
 
1498
 
 
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},
 
1503
  {0, 0, 0, 0}
 
1504
};
 
1505
 
 
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},
 
1508
  {0, 0, 0, 0, 0}
 
1509
};
 
1510
 
 
1511
static PyNumberMethods __pyx_tp_as_number_UTF8DirReader = {
 
1512
  0, /*nb_add*/
 
1513
  0, /*nb_subtract*/
 
1514
  0, /*nb_multiply*/
 
1515
  0, /*nb_divide*/
 
1516
  0, /*nb_remainder*/
 
1517
  0, /*nb_divmod*/
 
1518
  0, /*nb_power*/
 
1519
  0, /*nb_negative*/
 
1520
  0, /*nb_positive*/
 
1521
  0, /*nb_absolute*/
 
1522
  0, /*nb_nonzero*/
 
1523
  0, /*nb_invert*/
 
1524
  0, /*nb_lshift*/
 
1525
  0, /*nb_rshift*/
 
1526
  0, /*nb_and*/
 
1527
  0, /*nb_xor*/
 
1528
  0, /*nb_or*/
 
1529
  0, /*nb_coerce*/
 
1530
  0, /*nb_int*/
 
1531
  0, /*nb_long*/
 
1532
  0, /*nb_float*/
 
1533
  0, /*nb_oct*/
 
1534
  0, /*nb_hex*/
 
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
 
1551
  0, /*nb_index*/
 
1552
  #endif
 
1553
};
 
1554
 
 
1555
static PySequenceMethods __pyx_tp_as_sequence_UTF8DirReader = {
 
1556
  0, /*sq_length*/
 
1557
  0, /*sq_concat*/
 
1558
  0, /*sq_repeat*/
 
1559
  0, /*sq_item*/
 
1560
  0, /*sq_slice*/
 
1561
  0, /*sq_ass_item*/
 
1562
  0, /*sq_ass_slice*/
 
1563
  0, /*sq_contains*/
 
1564
  0, /*sq_inplace_concat*/
 
1565
  0, /*sq_inplace_repeat*/
 
1566
};
 
1567
 
 
1568
static PyMappingMethods __pyx_tp_as_mapping_UTF8DirReader = {
 
1569
  0, /*mp_length*/
 
1570
  0, /*mp_subscript*/
 
1571
  0, /*mp_ass_subscript*/
 
1572
};
 
1573
 
 
1574
static PyBufferProcs __pyx_tp_as_buffer_UTF8DirReader = {
 
1575
  0, /*bf_getreadbuffer*/
 
1576
  0, /*bf_getwritebuffer*/
 
1577
  0, /*bf_getsegcount*/
 
1578
  0, /*bf_getcharbuffer*/
 
1579
};
 
1580
 
 
1581
PyTypeObject __pyx_type_6bzrlib_12_readdir_pyx_UTF8DirReader = {
 
1582
  PyObject_HEAD_INIT(0)
 
1583
  0, /*ob_size*/
 
1584
  "bzrlib._readdir_pyx.UTF8DirReader", /*tp_name*/
 
1585
  sizeof(struct __pyx_obj_6bzrlib_12_readdir_pyx_UTF8DirReader), /*tp_basicsize*/
 
1586
  0, /*tp_itemsize*/
 
1587
  __pyx_tp_dealloc_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_dealloc*/
 
1588
  0, /*tp_print*/
 
1589
  0, /*tp_getattr*/
 
1590
  0, /*tp_setattr*/
 
1591
  0, /*tp_compare*/
 
1592
  0, /*tp_repr*/
 
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*/
 
1596
  0, /*tp_hash*/
 
1597
  0, /*tp_call*/
 
1598
  0, /*tp_str*/
 
1599
  0, /*tp_getattro*/
 
1600
  0, /*tp_setattro*/
 
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*/
 
1608
  0, /*tp_iter*/
 
1609
  0, /*tp_iternext*/
 
1610
  __pyx_methods_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_methods*/
 
1611
  __pyx_members_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_members*/
 
1612
  0, /*tp_getset*/
 
1613
  0, /*tp_base*/
 
1614
  0, /*tp_dict*/
 
1615
  0, /*tp_descr_get*/
 
1616
  0, /*tp_descr_set*/
 
1617
  0, /*tp_dictoffset*/
 
1618
  __pyx_f_6bzrlib_12_readdir_pyx_13UTF8DirReader___init__, /*tp_init*/
 
1619
  0, /*tp_alloc*/
 
1620
  __pyx_tp_new_6bzrlib_12_readdir_pyx_UTF8DirReader, /*tp_new*/
 
1621
  0, /*tp_free*/
 
1622
  0, /*tp_is_gc*/
 
1623
  0, /*tp_bases*/
 
1624
  0, /*tp_mro*/
 
1625
  0, /*tp_cache*/
 
1626
  0, /*tp_subclasses*/
 
1627
  0, /*tp_weaklist*/
 
1628
};
 
1629
 
 
1630
static struct PyMethodDef __pyx_methods[] = {
 
1631
  {0, 0, 0, 0}
 
1632
};
 
1633
 
 
1634
static void __pyx_init_filenames(void); /*proto*/
 
1635
 
 
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;};
 
1643
  Py_INCREF(__pyx_m);
 
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;
 
1658
 
 
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;
 
1663
 
 
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;
 
1668
 
 
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;}
 
1671
 
 
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;}
 
1674
 
 
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;}
 
1677
 
 
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;}
 
1680
 
 
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;}
 
1683
 
 
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;}
 
1686
 
 
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;}
 
1689
 
 
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;}
 
1692
 
 
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;}
 
1695
 
 
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;
 
1706
 
 
1707
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":205 */
 
1708
  Py_INCREF(__pyx_k16p);
 
1709
  __pyx_d1 = __pyx_k16p;
 
1710
 
 
1711
  /* "/home/robertc/source/baz/pending/working/bzrlib/_readdir_pyx.pyx":281 */
 
1712
  return;
 
1713
  __pyx_L1:;
 
1714
  Py_XDECREF(__pyx_1);
 
1715
  Py_XDECREF(__pyx_2);
 
1716
  __Pyx_AddTraceback("bzrlib._readdir_pyx");
 
1717
}
 
1718
 
 
1719
static char *__pyx_filenames[] = {
 
1720
  "_readdir_pyx.pyx",
 
1721
};
 
1722
 
 
1723
/* Runtime support code */
 
1724
 
 
1725
static void __pyx_init_filenames(void) {
 
1726
  __pyx_f = __pyx_filenames;
 
1727
}
 
1728
 
 
1729
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
 
1730
    PyObject *result;
 
1731
    result = PyObject_GetAttr(dict, name);
 
1732
    if (!result)
 
1733
        PyErr_SetObject(PyExc_NameError, name);
 
1734
    return result;
 
1735
}
 
1736
 
 
1737
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 
1738
    Py_XINCREF(type);
 
1739
    Py_XINCREF(value);
 
1740
    Py_XINCREF(tb);
 
1741
    /* First, check the traceback argument, replacing None with NULL. */
 
1742
    if (tb == Py_None) {
 
1743
        Py_DECREF(tb);
 
1744
        tb = 0;
 
1745
    }
 
1746
    else if (tb != NULL && !PyTraceBack_Check(tb)) {
 
1747
        PyErr_SetString(PyExc_TypeError,
 
1748
            "raise: arg 3 must be a traceback or None");
 
1749
        goto raise_error;
 
1750
    }
 
1751
    /* Next, replace a missing value with None */
 
1752
    if (value == NULL) {
 
1753
        value = Py_None;
 
1754
        Py_INCREF(value);
 
1755
    }
 
1756
    #if PY_VERSION_HEX < 0x02050000
 
1757
    if (!PyClass_Check(type))
 
1758
    #else
 
1759
    if (!PyType_Check(type))
 
1760
    #endif
 
1761
    {
 
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");
 
1766
            goto raise_error;
 
1767
        }
 
1768
        /* Normalize to raise <class>, <instance> */
 
1769
        Py_DECREF(value);
 
1770
        value = type;
 
1771
        #if PY_VERSION_HEX < 0x02050000
 
1772
            if (PyInstance_Check(type)) {
 
1773
                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
 
1774
                Py_INCREF(type);
 
1775
            }
 
1776
            else {
 
1777
                PyErr_SetString(PyExc_TypeError,
 
1778
                    "raise: exception must be an old-style class or instance");
 
1779
                goto raise_error;
 
1780
            }
 
1781
        #else
 
1782
            type = (PyObject*) type->ob_type;
 
1783
            Py_INCREF(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");
 
1787
                goto raise_error;
 
1788
            }
 
1789
        #endif
 
1790
    }
 
1791
    PyErr_Restore(type, value, tb);
 
1792
    return;
 
1793
raise_error:
 
1794
    Py_XDECREF(value);
 
1795
    Py_XDECREF(type);
 
1796
    Py_XDECREF(tb);
 
1797
    return;
 
1798
}
 
1799
 
 
1800
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 
1801
    while (t->p) {
 
1802
        *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
 
1803
        if (!*t->p)
 
1804
            return -1;
 
1805
        if (t->i)
 
1806
            PyString_InternInPlace(t->p);
 
1807
        ++t;
 
1808
    }
 
1809
    return 0;
 
1810
}
 
1811
 
 
1812
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
 
1813
    PyObject *pycobj = 0;
 
1814
    int result;
 
1815
    
 
1816
    pycobj = PyCObject_FromVoidPtr(vtable, 0);
 
1817
    if (!pycobj)
 
1818
        goto bad;
 
1819
    if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
 
1820
        goto bad;
 
1821
    result = 0;
 
1822
    goto done;
 
1823
 
 
1824
bad:
 
1825
    result = -1;
 
1826
done:
 
1827
    Py_XDECREF(pycobj);
 
1828
    return result;
 
1829
}
 
1830
 
 
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;
 
1837
    PyObject *list;
 
1838
    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
 
1839
    if (!__import__)
 
1840
        goto bad;
 
1841
    if (from_list)
 
1842
        list = from_list;
 
1843
    else {
 
1844
        empty_list = PyList_New(0);
 
1845
        if (!empty_list)
 
1846
            goto bad;
 
1847
        list = empty_list;
 
1848
    }
 
1849
    global_dict = PyModule_GetDict(__pyx_m);
 
1850
    if (!global_dict)
 
1851
        goto bad;
 
1852
    empty_dict = PyDict_New();
 
1853
    if (!empty_dict)
 
1854
        goto bad;
 
1855
    module = PyObject_CallFunction(__import__, "OOOO",
 
1856
        name, global_dict, empty_dict, list);
 
1857
bad:
 
1858
    Py_XDECREF(empty_list);
 
1859
    Py_XDECREF(__import__);
 
1860
    Py_XDECREF(empty_dict);
 
1861
    return module;
 
1862
}
 
1863
 
 
1864
#include "compile.h"
 
1865
#include "frameobject.h"
 
1866
#include "traceback.h"
 
1867
 
 
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;
 
1876
    
 
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,*/
 
1889
        0,            /*int nlocals,*/
 
1890
        0,            /*int stacksize,*/
 
1891
        0,            /*int flags,*/
 
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*/
 
1902
    );
 
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*/
 
1909
    );
 
1910
    if (!py_frame) goto bad;
 
1911
    py_frame->f_lineno = __pyx_lineno;
 
1912
    PyTraceBack_Here(py_frame);
 
1913
bad:
 
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);
 
1920
}