ports/devel/py-wurlitzer/patches/patch-wurlitzer_py

31 lines
1.1 KiB
Text

Index: wurlitzer.py
--- wurlitzer.py.orig
+++ wurlitzer.py
@@ -39,13 +39,20 @@ import warnings
libc = ctypes.CDLL(None)
-try:
- c_stdout_p = ctypes.c_void_p.in_dll(libc, 'stdout')
- c_stderr_p = ctypes.c_void_p.in_dll(libc, 'stderr')
-except ValueError: # pragma: no cover
- # libc.stdout is has a funny name on OS X
- c_stdout_p = ctypes.c_void_p.in_dll(libc, '__stdoutp') # pragma: no cover
- c_stderr_p = ctypes.c_void_p.in_dll(libc, '__stderrp') # pragma: no cover
+if sys.platform.startswith('openbsd'):
+ FILE = (ctypes.c_byte * SIZE_OF_FILE)
+ sFType = (FILE * 3)
+ sFArray = sFType.in_dll(libc, '__sF')
+ c_stdout_p = ctypes.pointer(sFArray[1])
+ c_stderr_p = ctypes.pointer(sFArray[2])
+else:
+ try:
+ c_stdout_p = ctypes.c_void_p.in_dll(libc, 'stdout')
+ c_stderr_p = ctypes.c_void_p.in_dll(libc, 'stderr')
+ except ValueError: # pragma: no cover
+ # libc.stdout is has a funny name on OS X
+ c_stdout_p = ctypes.c_void_p.in_dll(libc, '__stdoutp') # pragma: no cover
+ c_stderr_p = ctypes.c_void_p.in_dll(libc, '__stderrp') # pragma: no cover
STDOUT = 2
PIPE = 3