/* crypto/err/err_prn.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
*/
#include <stdio.h>
-#include "lhash.h"
-#include "crypto.h"
+#include <openssl/lhash.h>
+#include <openssl/crypto.h>
#include "cryptlib.h"
-#include "buffer.h"
-#include "err.h"
-#include "crypto.h"
+#include <openssl/buffer.h>
+#include <openssl/err.h>
+#include <openssl/crypto.h>
-#ifndef WIN16
-void ERR_print_errors_fp(fp)
-FILE *fp;
+#ifndef NO_FP_API
+void ERR_print_errors_fp(FILE *fp)
{
unsigned long l;
char buf[200];
- char *file;
- int line;
+ const char *file,*data;
+ int line,flags;
unsigned long es;
es=CRYPTO_thread_id();
- while ((l=ERR_get_error_line(&file,&line)) != 0)
- fprintf(fp,"%lu:%s:%s:%d\n",es,ERR_error_string(l,buf),
- file,line);
+ while ((l=ERR_get_error_line_data(&file,&line,&data,&flags)) != 0)
+ {
+ ERR_error_string_n(l, buf, sizeof buf);
+ fprintf(fp,"%lu:%s:%s:%d:%s\n",es,buf,
+ file,line,(flags&ERR_TXT_STRING)?data:"");
+ }
}
#endif
-void ERR_print_errors(bp)
-BIO *bp;
+void ERR_print_errors(BIO *bp)
{
unsigned long l;
char buf[256];
char buf2[256];
- char *file;
- int line;
+ const char *file,*data;
+ int line,flags;
unsigned long es;
es=CRYPTO_thread_id();
- while ((l=ERR_get_error_line(&file,&line)) != 0)
+ while ((l=ERR_get_error_line_data(&file,&line,&data,&flags)) != 0)
{
- sprintf(buf2,"%lu:%s:%s:%d\n",es,ERR_error_string(l,buf),
+ ERR_error_string_n(l, buf, sizeof buf);
+ sprintf(buf2,"%lu:%s:%s:%d:",es,buf,
file,line);
BIO_write(bp,buf2,strlen(buf2));
+ if (flags & ERR_TXT_STRING)
+ BIO_write(bp,data,strlen(data));
+ BIO_write(bp,"\n",1);
}
}