Eryk Sun added the comment:
po_message_create() returns a po_message_t pointer:
/* A po_message_t represents a message in a PO file. */
typedef struct po_message *po_message_t;
/* Return a freshly constructed message.
To finish initializing the message, you must set the msgid
and msgstr. */
extern po_message_t po_message_create (void);
You're casting a pointer as a 32-bit C int, which isn't reliable in 64-bit
Python. The value 0x55c7cf00 (1439158016) may be truncated. Try it using a
po_message_t pointer type. For example:
gpo = ctypes.CDLL(lib_location)
class po_message_t(ctypes._Pointer):
"""A po_message_t represents a message in a PO file."""
class po_message(ctypes.Structure):
pass
_type_ = po_message
gpo.po_message_create.restype = po_message_t
----------
nosy: +eryksun
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue28631>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com