diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-01-14 15:13:37 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-01-14 15:13:37 +0000 |
commit | 78c45722960510f63f9ee151959ea2f63fac7ba3 (patch) | |
tree | b14c6365c44999561bb25c1f4ea3eab662d80c36 /crypto/err/err.c | |
parent | d3f17e5ed3dee78b6f17d517fa11a771d85dc0b8 (diff) | |
download | openssl-78c45722960510f63f9ee151959ea2f63fac7ba3.tar.gz |
add va_list version of ERR_add_error_data
Diffstat (limited to 'crypto/err/err.c')
-rw-r--r-- | crypto/err/err.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/err/err.c b/crypto/err/err.c index 69713a6e2f..fcdb244008 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -1066,6 +1066,13 @@ void ERR_set_error_data(char *data, int flags) void ERR_add_error_data(int num, ...) { 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; char *str,*p,*a; @@ -1074,7 +1081,6 @@ void ERR_add_error_data(int num, ...) if (str == NULL) return; str[0]='\0'; - va_start(args, num); n=0; for (i=0; i<num; i++) { @@ -1090,7 +1096,7 @@ void ERR_add_error_data(int num, ...) if (p == NULL) { OPENSSL_free(str); - goto err; + return; } else 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: - va_end(args); } int ERR_set_mark(void) |