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 openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org