Weird indenting in X509_signature_print()

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Weird indenting in X509_signature_print()

bradh (Bugzilla)
In  openssl-0.9.7g/crypto/asn1/t_509.c, there is this function:

int X509_signature_print(BIO *bp, X509_ALGOR *sigalg, ASN1_STRING *sig)
{
        unsigned char *s;
        int i, n;
        if (BIO_puts(bp,"    Signature Algorithm: ") <= 0) return 0;
        if (i2a_ASN1_OBJECT(bp, sigalg->algorithm) <= 0) return 0;

        n=sig->length;
        s=sig->data;
        for (i=0; i<n; i++)
                {
                if ((i%18) == 0)
                        if (BIO_write(bp,"\n        ",9) <= 0) return 0;
                        if (BIO_printf(bp,"%02x%s",s[i],
                                ((i+1) == n)?"":":") <= 0) return 0;
                }
        if (BIO_write(bp,"\n",1) != 1) return 0;
        return 1;
}

That indenting looks wrong (originally I thought that there were {} missing,
but now realise it should look something like:
int X509_signature_print(BIO *bp, X509_ALGOR *sigalg, ASN1_STRING *sig)
{
        unsigned char *s;
        int i, n;
        if (BIO_puts(bp,"    Signature Algorithm: ") <= 0) return 0;
        if (i2a_ASN1_OBJECT(bp, sigalg->algorithm) <= 0) return 0;

        n=sig->length;
        s=sig->data;
        for (i=0; i<n; i++)
                {
                if ((i%18) == 0) /* put in a blank line every so often... */
                        if (BIO_write(bp,"\n        ",9) <= 0) return 0;
                if (BIO_printf(bp,"%02x%s",s[i], ((i+1) == n)?"":":") <= 0)
                        return 0;
                }
        if (BIO_write(bp,"\n",1) != 1) return 0;
        return 1;
}

Note: I'm not worried about the placement of the return statements - I just
moved that one because of probable line wrapping....

Brad

attachment0 (196 bytes) Download Attachment