<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div>Hello, </div>
<div><br>
</div>
<div>I'm having difficulties translating linked list from given c++ API to python.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>Where I'm stuck:</div>
<div>DataType and ListNode can be translated with SIP, but I suspect something goes wrong when passing the address of dataTypeObj to listNodeObj.data.</div>
<div>The address of dataTypeObj in hex format is the address the debugger shows me, therefore the ID should be right.</div>
<div>But the content is not. dataTypeObj.size accessed from listNodeObj is garbage.</div>
<div><br>
</div>
<div>This is my header file:</div>
<div>
<pre style="background-color:#ffffff; color:#080808; font-family:'JetBrains Mono',monospace; font-size:9.8pt"><span style="color:#0033b3">typedef struct </span><span style="color:#008080">ListNode </span>{<br><br>    <span style="color:#0033b3">void</span>* <span style="color:#660e7a">data</span>;<br>    <span style="color:#0033b3">struct </span><span style="color:#008080">ListNode </span>*<span style="color:#660e7a">next</span>;<br>    <span style="color:#0033b3">struct </span><span style="color:#008080">ListNode </span>*<span style="color:#660e7a">prev</span>;<br>}<span style="color:#371f80">ListNode</span>;<br><br><br><span style="color:#0033b3">typedef struct </span><span style="color:#008080">DataType </span>{<span style="color:#8c8c8c; font-style:italic"><br></span><span style="color:#8c8c8c; font-style:italic"><br></span><span style="color:#8c8c8c; font-style:italic">    </span><span style="color:#0033b3">const unsigned char </span>*<span style="color:#660e7a">data</span>;<br>    <span style="color:#0033b3">int   </span><span style="color:#660e7a">numocts</span>;<br>}<span style="color:#371f80">DataType</span>;<br><br><span style="color:#8c8c8c; font-style:italic">// to debug<br></span><span style="color:#0033b3">void </span><span style="color:#00627a">displayDataType</span>(<span style="color:#371f80">DataType </span>&dataType, <span style="color:#0033b3">void </span>*dataTypePtr);<br><span style="color:#0033b3">void </span><span style="color:#00627a">displayListNode</span>(<span style="color:#371f80">ListNode </span>&listNode);</pre>
<br>
</div>
<div><br>
</div>
<div>and this is my .sip file:</div>
<div>
<pre style="background-color:#ffffff; color:#080808; font-family:'JetBrains Mono',monospace; font-size:9.8pt"><span style="color:#0033b3">struct </span>ListNode {<br><br>%TypeHeaderCode<br><span style="color:#9e880d">#include </span><span style="color:#067d17"><llist.h><br></span>%End<br><br>    <span style="color:#0033b3">void </span>*data;<br>    <span style="color:#0033b3">struct </span>ListNode *next;<br>    <span style="color:#0033b3">struct </span>ListNode *prev;<br>} ;<br><br><br><span style="color:#0033b3">struct </span><span style="color:#008080">DataType </span>{<span style="color:#8c8c8c; font-style:italic"><br></span><span style="color:#8c8c8c; font-style:italic"><br></span>%TypeHeaderCode<br><span style="color:#9e880d">#include </span><span style="color:#067d17"><llist.h><br></span>%End<br><br>   <span style="color:#0033b3">const unsigned char </span>*data;<br>   <span style="color:#0033b3">int   </span><span style="color:#660e7a">numocts</span>;<br>} ;<br><br><span style="color:#8c8c8c; font-style:italic">// to debug<br></span><span style="color:#0033b3">void </span><span style="color:#00627a">displayDataType</span>(<span style="color:#008080">DataType </span>&dataType, <span style="color:#0033b3">void </span>*dataTypePtr);<br><span style="color:#0033b3">void </span><span style="color:#00627a">displayListNode</span>(ListNode &listNode);</pre>
<br>
</div>
<div><br>
</div>
<div>Does someone have and idea?</div>
<div><br>
</div>
<div>Thanks in advance!</div>
<div><br>
</div>
<div>M.T.<br>
</div>
</body>
</html>