translating linked list with SIP
Marian Thomsen
marian.th at outlook.de
Thu Feb 25 12:59:14 GMT 2021
Hello,
I'm having difficulties translating linked list from given c++ API to python.
I have a struct (DataType) holding some data (const unsigned char* data) and the size of this data. Then I have a struct ListNode that has a void* data, that should point to a DataTypeObj.
Where I'm stuck:
DataType and ListNode can be translated with SIP, but I suspect something goes wrong when passing the address of dataTypeObj to listNodeObj.data.
The address of dataTypeObj in hex format is the address the debugger shows me, therefore the ID should be right.
But the content is not. dataTypeObj.size accessed from listNodeObj is garbage.
This is my header file:
typedef struct ListNode {
void* data;
struct ListNode *next;
struct ListNode *prev;
}ListNode;
typedef struct DataType {
const unsigned char *data;
int numocts;
}DataType;
// to debug
void displayDataType(DataType &dataType, void *dataTypePtr);
void displayListNode(ListNode &listNode);
and this is my .sip file:
struct ListNode {
%TypeHeaderCode
#include <llist.h>
%End
void *data;
struct ListNode *next;
struct ListNode *prev;
} ;
struct DataType {
%TypeHeaderCode
#include <llist.h>
%End
const unsigned char *data;
int numocts;
} ;
// to debug
void displayDataType(DataType &dataType, void *dataTypePtr);
void displayListNode(ListNode &listNode);
Does someone have and idea?
Thanks in advance!
M.T.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210225/f4a27851/attachment.htm>
More information about the PyQt
mailing list