version 1.138, 2015/02/27 17:38:19 |
version 1.139, 2015/07/18 21:50:47 |
|
|
int |
int |
SSL_vprintf(struct tls *tls, const char *fmt, va_list ap) |
SSL_vprintf(struct tls *tls, const char *fmt, va_list ap) |
{ |
{ |
char *string; |
char *string, *buf; |
size_t nw; |
size_t nw, len; |
int ret; |
int ret; |
|
|
if ((ret = vasprintf(&string, fmt, ap)) == -1) |
if ((ret = vasprintf(&string, fmt, ap)) == -1) |
return ret; |
return ret; |
ret = tls_write(tls, string, ret, &nw); |
buf = string; |
|
len = ret; |
|
while (len > 0) { |
|
ret = tls_write(tls, buf, len, &nw); |
|
if (ret == TLS_READ_AGAIN || ret == TLS_WRITE_AGAIN) |
|
continue; |
|
if (ret < 0) |
|
break; |
|
buf += nw; |
|
len -= nw; |
|
} |
free(string); |
free(string); |
return ret; |
return ret; |
} |
} |