EXIT() may mean return(). That's confusing, so let's have it really mean
[openssl.git] / apps / nseq.c
index cc88d50ceba50ef82b1a0beb0f1c1cea23d855cc..dc71d45012f8002e01e533410515aacf40cb5046 100644 (file)
@@ -58,9 +58,9 @@
 
 #include <stdio.h>
 #include <string.h>
+#include "apps.h"
 #include <openssl/pem.h>
 #include <openssl/err.h>
-#include "apps.h"
 
 #undef PROG
 #define PROG nseq_main
@@ -102,7 +102,7 @@ int MAIN(int argc, char **argv)
                BIO_printf (bio_err, "-in file  input file\n");
                BIO_printf (bio_err, "-out file output file\n");
                BIO_printf (bio_err, "-toseq    output NS Sequence file\n");
-               EXIT(1);
+               OPENSSL_EXIT(1);
        }
 
        if (infile) {
@@ -119,11 +119,18 @@ int MAIN(int argc, char **argv)
                                 "Can't open output file %s\n", outfile);
                        goto end;
                }
-       } else out = BIO_new_fp(stdout, BIO_NOCLOSE);
-
+       } else {
+               out = BIO_new_fp(stdout, BIO_NOCLOSE);
+#ifdef OPENSSL_SYS_VMS
+               {
+               BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+               out = BIO_push(tmpbio, out);
+               }
+#endif
+       }
        if (toseq) {
                seq = NETSCAPE_CERT_SEQUENCE_new();
-               seq->certs = sk_X509_new(NULL);
+               seq->certs = sk_X509_new_null();
                while((x509 = PEM_read_bio_X509(in, NULL, NULL, NULL))) 
                    sk_X509_push(seq->certs,x509);
 
@@ -152,9 +159,9 @@ int MAIN(int argc, char **argv)
        ret = 0;
 end:
        BIO_free(in);
-       BIO_free(out);
+       BIO_free_all(out);
        NETSCAPE_CERT_SEQUENCE_free(seq);
 
-       EXIT(ret);
+       OPENSSL_EXIT(ret);
 }