RFC 3161 compliant time stamp request creation, response generation
[openssl.git] / crypto / err / err_prn.c
index b5895a4c6f9d2ba5420198055f5e811b1aac7fc0..2224a901e5ea30a30e4332f2290c980faf20cc1b 100644 (file)
  */
 
 #include <stdio.h>
+#include "cryptlib.h"
 #include <openssl/lhash.h>
 #include <openssl/crypto.h>
-#include "cryptlib.h"
 #include <openssl/buffer.h>
 #include <openssl/err.h>
-#include <openssl/crypto.h>
 
 void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u),
                         void *u)
@@ -85,27 +84,28 @@ void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u),
        }
 
 #ifndef OPENSSL_NO_FP_API
-static int print_fp(const char *str, size_t len, FILE *fp)
+static int print_fp(const char *str, size_t len, void *fp)
        {
-       return fprintf(fp, "%s", str);
+       BIO bio;
+
+       BIO_set(&bio,BIO_s_file());
+       BIO_set_fp(&bio,fp,BIO_NOCLOSE);
+
+       return BIO_printf(&bio, "%s", str);
        }
 void ERR_print_errors_fp(FILE *fp)
        {
-       ERR_print_errors_cb(
-               (int (*)(const char *, size_t, void *))print_fp,
-               (void *)fp);
+       ERR_print_errors_cb(print_fp, fp);
        }
 #endif
 
-static int print_bio(const char *str, size_t len, BIO *bp)
+static int print_bio(const char *str, size_t len, void *bp)
        {
-       return BIO_write(bp, str, len);
+       return BIO_write((BIO *)bp, str, len);
        }
 void ERR_print_errors(BIO *bp)
        {
-       ERR_print_errors_cb(
-               (int (*)(const char *, size_t, void *))print_bio,
-               (void *)bp);
+       ERR_print_errors_cb(print_bio, bp);
        }