Added BIO_vprintf() and BIO_vsnprintf(). The former because I've
found myself needing it a number of times, the latter for completeness.
This commit is contained in:
parent
97a377b973
commit
e6629837a9
3
CHANGES
3
CHANGES
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
|
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
|
||||||
|
|
||||||
|
*) Added BIO_vprintf() and BIO_vsnprintf().
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
*) Added more prefixes to parse for in the the strings written
|
*) Added more prefixes to parse for in the the strings written
|
||||||
through a logging bio, to cover all the levels that are available
|
through a logging bio, to cover all the levels that are available
|
||||||
through syslog. The prefixes are now:
|
through syslog. The prefixes are now:
|
||||||
|
@ -61,7 +61,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -812,6 +811,18 @@ int BIO_printf (BIO *bio, const char *format, ...)
|
|||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
va_start(args, format);
|
||||||
|
|
||||||
|
ret = BIO_vprintf(bio, format, args);
|
||||||
|
|
||||||
|
va_end(args);
|
||||||
|
return(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
int BIO_vprintf (BIO *bio, const char *format, va_list args)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
size_t retlen;
|
size_t retlen;
|
||||||
#ifdef USE_ALLOCATING_PRINT
|
#ifdef USE_ALLOCATING_PRINT
|
||||||
char *hugebuf;
|
char *hugebuf;
|
||||||
@ -819,8 +830,6 @@ int BIO_printf (BIO *bio, const char *format, ...)
|
|||||||
MS_STATIC char hugebuf[1024*2]; /* 10k in one chunk is the limit */
|
MS_STATIC char hugebuf[1024*2]; /* 10k in one chunk is the limit */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
|
|
||||||
#ifndef USE_ALLOCATING_PRINT
|
#ifndef USE_ALLOCATING_PRINT
|
||||||
hugebuf[0]='\0';
|
hugebuf[0]='\0';
|
||||||
dopr(hugebuf, sizeof(hugebuf), &retlen, format, args);
|
dopr(hugebuf, sizeof(hugebuf), &retlen, format, args);
|
||||||
@ -838,7 +847,6 @@ int BIO_printf (BIO *bio, const char *format, ...)
|
|||||||
}
|
}
|
||||||
CRYPTO_pop_info();
|
CRYPTO_pop_info();
|
||||||
#endif
|
#endif
|
||||||
va_end(args);
|
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,10 +857,21 @@ int BIO_printf (BIO *bio, const char *format, ...)
|
|||||||
int BIO_snprintf(char *buf, size_t n, const char *format, ...)
|
int BIO_snprintf(char *buf, size_t n, const char *format, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
va_start(args, format);
|
||||||
|
|
||||||
|
ret = BIO_vsnprintf(buf, n, format, args);
|
||||||
|
|
||||||
|
va_end(args);
|
||||||
|
return(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
|
||||||
|
{
|
||||||
size_t retlen;
|
size_t retlen;
|
||||||
int truncated;
|
int truncated;
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
_dopr(dopr_outch, dopr_isbig, dopr_copy,
|
_dopr(dopr_outch, dopr_isbig, dopr_copy,
|
||||||
&buf, &n, &retlen, &truncated, format, args);
|
&buf, &n, &retlen, &truncated, format, args);
|
||||||
if (truncated)
|
if (truncated)
|
||||||
|
@ -62,6 +62,7 @@
|
|||||||
#ifndef NO_FP_API
|
#ifndef NO_FP_API
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
|
|
||||||
@ -600,7 +601,9 @@ void BIO_copy_next_retry(BIO *b);
|
|||||||
long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);
|
long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);
|
||||||
|
|
||||||
int BIO_printf(BIO *bio, const char *format, ...);
|
int BIO_printf(BIO *bio, const char *format, ...);
|
||||||
|
int BIO_vprintf(BIO *bio, const char *format, va_list args);
|
||||||
int BIO_snprintf(char *buf, size_t n, const char *format, ...);
|
int BIO_snprintf(char *buf, size_t n, const char *format, ...);
|
||||||
|
int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args);
|
||||||
|
|
||||||
/* BEGIN ERROR CODES */
|
/* BEGIN ERROR CODES */
|
||||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||||
|
Loading…
Reference in New Issue
Block a user