1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# Based on https://github.com/benhoyt/scandir/pull/109
# TODO: Upstream
# See: https://github.com/benhoyt/scandir/issues/122
From cfda49a07865097d3fdadc4e321881635ab2f795 Mon Sep 17 00:00:00 2001
From: "Elias M. Mariani" <marianielias@gmail.com>
Date: Mon, 6 Aug 2018 12:06:44 -0300
Subject: [PATCH] Fix dirent.h struct alignment on OpenBSD
--- scandir.py.orig 2019-03-09 17:51:39 UTC
+++ scandir.py
@@ -432,6 +432,16 @@ elif sys.platform.startswith(('linux', 'darwin', 'suno
('__d_padding', ctypes.c_uint8 * 4),
('d_name', ctypes.c_char * 256),
)
+ elif 'freebsd' in sys.platform:
+ _fields_ = (
+ ('d_ino', ctypes.c_uint64),
+ ('d_off', ctypes.c_uint64),
+ ('d_reclen', ctypes.c_uint16),
+ ('d_type', ctypes.c_uint8),
+ ('d_namlen', ctypes.c_uint8),
+ ('__d_padding', ctypes.c_uint8 * 4),
+ ('d_name', ctypes.c_char * 256),
+ )
else:
_fields_ = (
('d_ino', ctypes.c_uint32), # must be uint32, not ulong
|