Bitmessage / PyBitmessage

Reference client for Bitmessage: a P2P encrypted decentralised communication protocol:
https://bitmessage.org/wiki/Main_Page
Other
2.81k stars 578 forks source link

Use buffer() in Python2 and use memoryview in Python3 #2242

Open kashikoibumi opened 1 month ago

kashikoibumi commented 1 month ago

This patch is a Python2-Python3 compatibility issue.

The builtin function buffer() in Python2 is renamed to memoryview() in Python3. Although memoryview() is also defined in Python2, its behavior has subtle difference, so buffer() can not be simply replaced to memoryview(). Python seems not to be able to pass argument in reference in function parameter, so it is not able to define a function that choose the implementaton of buffer()/memoryview(). So branching by if statement seems to be necessary.