Message374392
Fedora32/x86_64 : Python v3.8.5 : optimized : uint type.
If, instead of using ulong type, the Pb.py program makes use of uint, the issue is different: see below.
This means that the issue depends on the length of the data.
BUILD=optimized
TYPE=int
export LD_LIBRARY_PATH=/opt/freeware/src/packages/BUILD/Python-3.8.5/build/optimized:/usr/lib64:/usr/lib
export PYTHONPATH=/opt/freeware/src/packages/BUILD/Python-3.8.5/build/optimized/Modules
./Pb-3.8.5-int-optimized.py
b'def'
None
None
# cat ./Pb-3.8.5-int-optimized.py
#!/opt/freeware/src/packages/BUILD/Python-3.8.5/build/optimized/python
# #!/opt/freeware/src/packages/BUILD/Python-3.8.5/python
# #!/usr/bin/env python3
from ctypes import *
libc = CDLL('/usr/lib64/libc-2.31.so')
class MemchrArgsHack(Structure):
_fields_ = [("s", c_char_p), ("c", c_uint), ("n", c_uint)]
memchr_args_hack = MemchrArgsHack()
memchr_args_hack.s = b"abcdef"
memchr_args_hack.c = ord('d')
memchr_args_hack.n = 7
class MemchrArgsHack2(Structure):
_fields_ = [("s", c_char_p), ("c_n", c_uint * 2)]
memchr_args_hack2 = MemchrArgsHack2()
memchr_args_hack2.s = b"abcdef"
memchr_args_hack2.c_n[0] = ord('d')
memchr_args_hack2.c_n[1] = 7
print( CFUNCTYPE(c_char_p, c_char_p, c_uint, c_uint, c_void_p)(('memchr', libc))(b"abcdef", c_uint(ord('d')), c_uint(7), None))
print( CFUNCTYPE(c_char_p, MemchrArgsHack, c_void_p)(('memchr', libc))(memchr_args_hack, None))
print( CFUNCTYPE(c_char_p, MemchrArgsHack2, c_void_p)(('memchr', libc))(memchr_args_hack2, None)) |
|
Date |
User |
Action |
Args |
2020-07-27 15:58:23 | T.Rex | set | recipients:
+ T.Rex, David.Edelsohn, Michael.Felt, Ayappan, BTaskaya |
2020-07-27 15:58:23 | T.Rex | set | messageid: <1595865503.29.0.234519249114.issue38628@roundup.psfhosted.org> |
2020-07-27 15:58:23 | T.Rex | link | issue38628 messages |
2020-07-27 15:58:23 | T.Rex | create | |
|