Make x509_string_cmp() iterative

This commit is contained in:
Manuel Pégourié-Gonnard 2014-11-12 18:35:31 +01:00
parent 8a5e3d4a40
commit f631bbc1da

View file

@ -1636,9 +1636,9 @@ static int x509_string_cmp( const x509_buf *a, const x509_buf *b )
*/ */
static int x509_name_cmp( const x509_name *a, const x509_name *b ) static int x509_name_cmp( const x509_name *a, const x509_name *b )
{ {
if( a == NULL && b == NULL ) /* Avoid recursion, it might not be optimised by the compiler */
return( 0 ); while( a != NULL || b != NULL )
{
if( a == NULL || b == NULL ) if( a == NULL || b == NULL )
return( -1 ); return( -1 );
@ -1654,7 +1654,12 @@ static int x509_name_cmp( const x509_name *a, const x509_name *b )
if( x509_string_cmp( &a->val, &b->val ) != 0 ) if( x509_string_cmp( &a->val, &b->val ) != 0 )
return( -1 ); return( -1 );
return( x509_name_cmp( a->next, b->next ) ); a = a->next;
b = b->next;
}
/* a == NULL == b */
return( 0 );
} }
/* /*