- Moved storing of a printable serial into a separate function
diff --git a/library/x509parse.c b/library/x509parse.c index 6dae943..b37c4c2 100644 --- a/library/x509parse.c +++ b/library/x509parse.c
@@ -2306,12 +2306,37 @@ } /* + * Store the serial in printable form into buf; no more + * than size characters will be written + */ +int x509parse_serial_gets( char *buf, size_t size, const x509_buf *serial ) +{ + int i, ret, nr, n; + char *p; + + p = buf; + n = size; + + nr = ( serial->len <= 32 ) + ? serial->len : 32; + + for( i = 0; i < nr; i++ ) + { + ret = snprintf( p, n, "%02X%s", + serial->p[i], ( i < nr - 1 ) ? ":" : "" ); + SAFE_SNPRINTF(); + } + + return( size - n ); +} + +/* * Return an informational string about the certificate. */ int x509parse_cert_info( char *buf, size_t size, const char *prefix, const x509_cert *crt ) { - int i, n, nr, ret; + int n, ret; char *p; p = buf; @@ -2324,15 +2349,8 @@ prefix ); SAFE_SNPRINTF(); - nr = ( crt->serial.len <= 32 ) - ? crt->serial.len : 32; - - for( i = 0; i < nr; i++ ) - { - ret = snprintf( p, n, "%02X%s", - crt->serial.p[i], ( i < nr - 1 ) ? ":" : "" ); - SAFE_SNPRINTF(); - } + ret = x509parse_serial_gets( p, n, &crt->serial); + SAFE_SNPRINTF(); ret = snprintf( p, n, "\n%sissuer name : ", prefix ); SAFE_SNPRINTF();