diff options
author | ThiƩbaud Weksteen <tweek@google.com> | 2024-03-01 00:12:59 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-03-01 00:12:59 +0000 |
commit | ab2762e31007956116589194dda10bf081519be3 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /demo/bsdopendirtype.py | |
parent | e4ad7f6c2e347100129583e177d33e02a31afb78 (diff) | |
parent | de77edbe02d4cc29c5f218144e41d4e708244566 (diff) | |
download | cffi-main.tar.gz |
Original change: https://android-review.googlesource.com/c/platform/external/python/cffi/+/2984152
Change-Id: Iac23460dbd403e2c877c2706a29e394d2ddc9361
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'demo/bsdopendirtype.py')
-rw-r--r-- | demo/bsdopendirtype.py | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/demo/bsdopendirtype.py b/demo/bsdopendirtype.py deleted file mode 100644 index 75a996a..0000000 --- a/demo/bsdopendirtype.py +++ /dev/null @@ -1,48 +0,0 @@ -from _bsdopendirtype import ffi, lib - - -def _posix_error(): - raise OSError(ffi.errno, os.strerror(ffi.errno)) - -_dtype_to_smode = { - lib.DT_BLK: 0o060000, - lib.DT_CHR: 0o020000, - lib.DT_DIR: 0o040000, - lib.DT_FIFO: 0o010000, - lib.DT_LNK: 0o120000, - lib.DT_REG: 0o100000, - lib.DT_SOCK: 0o140000, -} - -def opendir(dir): - if len(dir) == 0: - dir = b'.' - dirname = dir - if not dirname.endswith(b'/'): - dirname += b'/' - dirp = lib.opendir(dir) - if dirp == ffi.NULL: - raise _posix_error() - try: - while True: - ffi.errno = 0 - dirent = lib.readdir(dirp) - if dirent == ffi.NULL: - if ffi.errno != 0: - raise _posix_error() - return - name = ffi.string(dirent.d_name) - if name == b'.' or name == b'..': - continue - name = dirname + name - try: - smode = _dtype_to_smode[dirent.d_type] - except KeyError: - smode = os.lstat(name).st_mode - yield name, smode - finally: - lib.closedir(dirp) - -if __name__ == '__main__': - for name, smode in opendir(b'/tmp'): - print(hex(smode), name) |