core: add format with va_list function to stringstream
This commit is contained in:
@@ -28,6 +28,8 @@ BLUE_API void b_stringstream_pop_indent(b_stringstream *strv);
|
|||||||
BLUE_API b_status b_stringstream_add(b_stringstream *strv, const char *str);
|
BLUE_API b_status b_stringstream_add(b_stringstream *strv, const char *str);
|
||||||
BLUE_API b_status b_stringstream_addf(b_stringstream *strv, const char *format, ...);
|
BLUE_API b_status b_stringstream_addf(b_stringstream *strv, const char *format, ...);
|
||||||
BLUE_API b_status b_stringstream_addv(b_stringstream *strv, const char **strs);
|
BLUE_API b_status b_stringstream_addv(b_stringstream *strv, const char **strs);
|
||||||
|
BLUE_API b_status b_stringstream_addvf(
|
||||||
|
b_stringstream *strv, const char *format, va_list arg);
|
||||||
BLUE_API b_status b_stringstream_addvl(
|
BLUE_API b_status b_stringstream_addvl(
|
||||||
b_stringstream *strv, const char **strs, size_t count);
|
b_stringstream *strv, const char **strs, size_t count);
|
||||||
BLUE_API b_status b_stringstream_add_many(b_stringstream *strv, ...);
|
BLUE_API b_status b_stringstream_add_many(b_stringstream *strv, ...);
|
||||||
|
|||||||
@@ -150,9 +150,18 @@ b_status b_stringstream_addf(struct b_stringstream *ss, const char *format, ...)
|
|||||||
char str[1024];
|
char str[1024];
|
||||||
va_list arg;
|
va_list arg;
|
||||||
va_start(arg, format);
|
va_start(arg, format);
|
||||||
size_t len = vsnprintf(str, sizeof str, format, arg);
|
enum b_status status = b_stringstream_addvf(ss, format, arg);
|
||||||
va_end(arg);
|
va_end(arg);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
b_status b_stringstream_addvf(
|
||||||
|
struct b_stringstream *ss, const char *format, va_list arg)
|
||||||
|
{
|
||||||
|
char str[1024];
|
||||||
|
size_t len = vsnprintf(str, sizeof str, format, arg);
|
||||||
|
|
||||||
return ss_builder_push_string(ss, str, len);
|
return ss_builder_push_string(ss, str, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user