El hallabi-Kettani Abderrahmane wrote:

First it's not a function it's a macro , you'll find
it in asn1/asn1.h


#define ASN1_ITEM_rptr(ref) (ref##_it())


Actually I was talking about the expansion of the macro ASN1_ITEM_rptr itself. Say if i use IMPLEMENT_ASN1_FUNCTIONS(X509), one of the results of its expansion will be ASN1_item_free( (ASN1_VALUE *)a, ASN1_ITEM_rptr(X509) )
In this one ASN1_ITEM_rptr(X509) will expand to X509_it( )
I was talking about this X509_it( ). The linker is unable to resolve this symbol.


Normally the IMPLEMENT_ASN1_FUNCTIONS(X509) will do
the trick .
Else the macro will help :

#define DECLARE_ASN1_ITEM(name) OPENSSL_EXTERN const ASN1_ITEM name##_it;

Abdou,

even the expansion of DECLARE_ASN1_ITEM( ) depends on the directive OPENSSL_EXPORT_VAR_AS_FUNCTION(in asn1.h) and I can't understand the purpose of using this

regards,
Sravan
.


______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]

Reply via email to