* under the terms of the license (GNU LGPL) which comes with this package. */
#include "xbt/strbuff.h"
+#include <stdarg.h>
#define minimal_increment 512
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(strbuff, xbt, "String buffers");
/** @brief Remove any content from the buffer */
-inline void xbt_strbuff_empty(xbt_strbuff_t b)
+inline void xbt_strbuff_clear(xbt_strbuff_t b)
{
b->used = 0;
b->data[0] = '\0';
xbt_strbuff_t res = xbt_malloc(sizeof(s_xbt_strbuff_t));
res->data = xbt_malloc(512);
res->size = 512;
- xbt_strbuff_empty(res);
+ xbt_strbuff_clear(res);
return res;
}
b->used += addlen;
}
+/** @brief format some content and push it at the end of the buffer */
+void xbt_strbuff_printf(xbt_strbuff_t b, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ char *data = bvprintf(fmt, ap);
+ xbt_strbuff_append(b, data);
+ xbt_free(data);
+ va_end(ap);
+}
+
/** @brief Replaces a set of variables by their values
*
* @param b buffer to modify