Dear Developers,

asn1.h:

...
#define CHECKED_PTR_OF(type, p) \
    ((void*) (1 ? p : (type*)0))
...

void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);

#define ASN1_dup_of(type,i2d,d2i,x) \
    ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \
                     CHECKED_D2I_OF(type, d2i), \
                     CHECKED_PTR_OF(type, x)))

It causes compiler error in C++ because "void*" that "CHECKED_PTR_OF"
macro generates does not allow a "char*" in third parameter of the
"ASN1_dup()" function.

The other issue is:

a_dup.c:

...
void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x)
...


Why the type of the third parameter ("x") is "char*" when the general
pointer type to an arbitrary object is "unsigned char*" in the function
body?

Best Regards,
        Zoltán Filyó, zomen at freemail dot com

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to