Commit 78c45722 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

add va_list version of ERR_add_error_data

parent d3f17e5e
Loading
Loading
Loading
Loading
+8 −5
Original line number Original line Diff line number Diff line
@@ -1066,6 +1066,13 @@ void ERR_set_error_data(char *data, int flags)
void ERR_add_error_data(int num, ...)
void ERR_add_error_data(int num, ...)
	{
	{
	va_list args;
	va_list args;
	va_start(args, num);
	ERR_add_error_vdata(num, args);
	va_end(args);
	}

void ERR_add_error_vdata(int num, va_list args)
	{
	int i,n,s;
	int i,n,s;
	char *str,*p,*a;
	char *str,*p,*a;


@@ -1074,7 +1081,6 @@ void ERR_add_error_data(int num, ...)
	if (str == NULL) return;
	if (str == NULL) return;
	str[0]='\0';
	str[0]='\0';


	va_start(args, num);
	n=0;
	n=0;
	for (i=0; i<num; i++)
	for (i=0; i<num; i++)
		{
		{
@@ -1090,7 +1096,7 @@ void ERR_add_error_data(int num, ...)
				if (p == NULL)
				if (p == NULL)
					{
					{
					OPENSSL_free(str);
					OPENSSL_free(str);
					goto err;
					return;
					}
					}
				else
				else
					str=p;
					str=p;
@@ -1099,9 +1105,6 @@ void ERR_add_error_data(int num, ...)
			}
			}
		}
		}
	ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING);
	ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING);

err:
	va_end(args);
	}
	}


int ERR_set_mark(void)
int ERR_set_mark(void)
+2 −1
Original line number Original line Diff line number Diff line
@@ -344,8 +344,9 @@ void ERR_print_errors_fp(FILE *fp);
#endif
#endif
#ifndef OPENSSL_NO_BIO
#ifndef OPENSSL_NO_BIO
void ERR_print_errors(BIO *bp);
void ERR_print_errors(BIO *bp);
void ERR_add_error_data(int num, ...);
#endif
#endif
void ERR_add_error_data(int num, ...);
void ERR_add_error_vdata(int num, va_list args);
void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
void ERR_load_ERR_strings(void);
void ERR_load_ERR_strings(void);