<p></p>
<blockquote>
<p>Why?<br>
I don't think that the freefunc is declared as such in the old openssl version.</p>
</blockquote>
<p>with the definition<br>
-#define sk_GENERAL_NAME_freefunc void(<em>)(void</em>)</p>
<p>the compile aborts with the SunPro C compiler.</p>
<p>platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc", line 122: operands have incompatible types:<br>
pointer to function(pointer to void) returning void ":" pointer to function(pointer to struct GENERAL_NAME_st {int type, union  {..} d}) returning void</p>
<p>With the definition<br>
+#define sk_GENERAL_NAME_freefunc void(<em>)(GENERAL_NAME</em>)</p>
<p>compilation works.</p>
<p>The code</p>
<p>sqo_sk_GENERAL_NAME_pop_free(sANs, (sk_GENERAL_NAME_freefunc)sqo_sk_free);</p>
<p>expanded - with the old defintion of sk_GENERAL_NAME_freefunc -  to:</p>
<p>sk_pop_free ( ( ( _STACK * ) ( 1 ? ( sANs ) : ( struct stack_st_GENERAL_NAME * ) 0 ) ) , ( ( void ( * ) ( void * ) ) ( ( 1 ? ( ( void ( * ) ( void * ) ) sk_free ) : ( void ( * ) ( GENERAL_NAME * ) ) 0 ) ) ) );</p>
<p>with the new definition of sk_GENERAL_NAME_freefunc it expands to :</p>
<pre><code>             sk_pop_free ( ( ( _STACK * ) ( 1 ? ( sANs ) : ( struct stack_st_GENERAL_NAME * ) 0 ) ) , ( ( void ( * ) ( void * ) ) ( ( 1 ? ( ( void ( * ) ( GENERAL_NAME * ) ) sk_free ) : ( void ( * ) ( GENERAL_NAME * ) ) 0 ) ) ) );
</code></pre>
<p>which the SUNpro compiler accepts.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#issuecomment-642486172">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW5V2VRXAF5EDMKK74LRWCGMFANCNFSM4M3D52HA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW7Z7MCOQPTMRUUHN3TRWCGMFA5CNFSM4M3D52HKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEZFY7HA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#issuecomment-642486172",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#issuecomment-642486172",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>