Merge pull request #5983 from gstrauss/inline-mbedtls_x509_dn_get_next
Inline mbedtls_x509_dn_get_next() in x509.h
diff --git a/include/mbedtls/x509.h b/include/mbedtls/x509.h
index b7e3645..213efa0 100644
--- a/include/mbedtls/x509.h
+++ b/include/mbedtls/x509.h
@@ -269,12 +269,21 @@
/**
* \brief Return the next relative DN in an X509 name.
*
+ * \note Intended use is to compare function result to dn->next
+ * in order to detect boundaries of multi-valued RDNs.
+ *
* \param dn Current node in the X509 name
*
* \return Pointer to the first attribute-value pair of the
* next RDN in sequence, or NULL if end is reached.
*/
-mbedtls_x509_name * mbedtls_x509_dn_get_next( mbedtls_x509_name *dn );
+static inline mbedtls_x509_name * mbedtls_x509_dn_get_next(
+ mbedtls_x509_name * dn )
+{
+ while( dn->MBEDTLS_PRIVATE(next_merged) && dn->next != NULL )
+ dn = dn->next;
+ return( dn->next );
+}
/**
* \brief Store the certificate serial in printable form into buf;
diff --git a/library/x509.c b/library/x509.c
index 17d1030..2e11c7f 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -797,15 +797,6 @@
}
/*
- * Return the next relative DN in an X509 name.
- */
-mbedtls_x509_name * mbedtls_x509_dn_get_next( mbedtls_x509_name * dn )
-{
- for( ; dn->next != NULL && dn->next_merged; dn = dn->next );
- return( dn->next );
-}
-
-/*
* Store the serial in printable form into buf; no more
* than size characters will be written
*/