sk_***_new_null() seems to be there to avoid exactly this sort of thing
[openssl.git] / crypto / asn1 / t_crl.c
index d36b0c23afc782322e4bf51ee900a189e0d042bf..d78e4a8f8878609ada45afb425f65af3f399a80e 100644 (file)
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "buffer.h"
-#include "bn.h"
-#include "objects.h"
-#include "x509.h"
-#include "x509v3.h"
+#include <openssl/buffer.h>
+#include <openssl/bn.h>
+#include <openssl/objects.h>
+#include <openssl/x509.h>
+#include <openssl/x509v3.h>
 
-#ifndef NOPROTO
 static void ext_print(BIO *out, X509_EXTENSION *ex);
-#else
-static void ext_print();
-#endif
-
 #ifndef NO_FP_API
-int X509_CRL_print_fp(fp,x)
-FILE *fp;
-X509_CRL *x;
+int X509_CRL_print_fp(FILE *fp, X509_CRL *x)
         {
         BIO *b;
         int ret;
@@ -90,13 +83,11 @@ X509_CRL *x;
         }
 #endif
 
-int X509_CRL_print(out, x)
-BIO *out;
-X509_CRL *x;
+int X509_CRL_print(BIO *out, X509_CRL *x)
 {
        char buf[256];
        unsigned char *s;
-       STACK *rev;
+       STACK_OF(X509_REVOKED) *rev;
        X509_REVOKED *r;
        long l;
        int i, j, n;
@@ -126,11 +117,12 @@ X509_CRL *x;
 
        rev = X509_CRL_get_REVOKED(x);
 
-       if(sk_num(rev)) BIO_printf(out, "Revoked Certificates:\n");
+       if(sk_X509_REVOKED_num(rev))
+           BIO_printf(out, "Revoked Certificates:\n");
        else BIO_printf(out, "No Revoked Certificates.\n");
 
-       for(i = 0; i < sk_num(rev); i++) {
-               r = (X509_REVOKED *) sk_value(rev, i);
+       for(i = 0; i < sk_X509_REVOKED_num(rev); i++) {
+               r = sk_X509_REVOKED_value(rev, i);
                BIO_printf(out,"    Serial Number: ");
                i2a_ASN1_INTEGER(out,r->serialNumber);
                BIO_printf(out,"\n        Revocation Date: ","");
@@ -157,9 +149,7 @@ X509_CRL *x;
 
 }
 
-static void ext_print(out, ex)
-BIO *out;
-X509_EXTENSION *ex;
+static void ext_print(BIO *out, X509_EXTENSION *ex)
 {
        ASN1_OBJECT *obj;
        int j;
@@ -167,8 +157,10 @@ X509_EXTENSION *ex;
        obj=X509_EXTENSION_get_object(ex);
        i2a_ASN1_OBJECT(out,obj);
        j=X509_EXTENSION_get_critical(ex);
-       BIO_printf(out, ": %s\n%16s", j ? "critical":"","");
-       if(!X509V3_EXT_print(out, ex, 0))
-                                ASN1_OCTET_STRING_print(out,ex->value);
+       BIO_printf(out, ": %s\n", j ? "critical":"","");
+       if(!X509V3_EXT_print(out, ex, 0, 16)) {
+               BIO_printf(out, "%16s", "");
+               M_ASN1_OCTET_STRING_print(out,ex->value);
+       }
        BIO_write(out,"\n",1);
 }