@ -59,7 +59,7 @@
# include <openssl/err.h>
# include <openssl/err.h>
# include <openssl/mem.h>
# include <openssl/mem.h>
int i2d_ASN1_BOOLEAN ( int a , unsigned char * * pp )
int i2d_ASN1_BOOLEAN ( ASN1_BOOLEAN a , unsigned char * * pp )
{
{
int r ;
int r ;
unsigned char * p , * allocated = NULL ;
unsigned char * p , * allocated = NULL ;
@ -88,36 +88,30 @@ int i2d_ASN1_BOOLEAN(int a, unsigned char **pp)
return r ;
return r ;
}
}
int d2i_ASN1_BOOLEAN ( int * a , const unsigned char * * pp , long length )
ASN1_BOOLEAN d2i_ASN1_BOOLEAN ( ASN1_BOOLEAN * a , const unsigned char * * pp ,
{
long length ) {
int ret = - 1 ;
const unsigned char * p = * pp ;
const unsigned char * p ;
long len ;
long len ;
int inf , tag , xclass ;
int inf , tag , xclass ;
int i = 0 ;
p = * pp ;
inf = ASN1_get_object ( & p , & len , & tag , & xclass , length ) ;
inf = ASN1_get_object ( & p , & len , & tag , & xclass , length ) ;
if ( inf & 0x80 ) {
if ( inf & 0x80 ) {
i = ASN1_R_BAD_OBJECT_HEADER ;
OPENSSL_PUT_ERROR ( ASN1 , ASN1_R_BAD_OBJECT_HEADER ) ;
goto err ;
return - 1 ;
}
}
if ( tag ! = V_ASN1_BOOLEAN ) {
if ( tag ! = V_ASN1_BOOLEAN ) {
i = ASN1_R_EXPECTING_A_BOOLEAN ;
OPENSSL_PUT_ERROR ( ASN1 , ASN1_R_EXPECTING_A_BOOLEAN ) ;
goto err ;
return - 1 ;
}
}
if ( len ! = 1 ) {
if ( len ! = 1 ) {
i = ASN1_R_BOOLEAN_IS_WRONG_LENGTH ;
OPENSSL_PUT_ERROR ( ASN1 , ASN1_R_BOOLEAN_IS_WRONG_LENGTH ) ;
goto err ;
return - 1 ;
}
}
ret = ( int ) * ( p + + ) ;
ASN1_BOOLEAN ret = ( ASN1_BOOLEAN ) * ( p + + ) ;
if ( a ! = NULL )
if ( a ! = NULL ) {
( * a ) = ret ;
( * a ) = ret ;
}
* pp = p ;
* pp = p ;
return ( ret ) ;
return ret ;
err :
OPENSSL_PUT_ERROR ( ASN1 , i ) ;
return ( ret ) ;
}
}