Internal string buffer handing. Unless you're writing a json_object_to_json_string_fn implementation for use with json_object_set_serializer() direct use of this is not recommended.
More...
Internal string buffer handing. Unless you're writing a json_object_to_json_string_fn implementation for use with json_object_set_serializer() direct use of this is not recommended.
#define _printbuf_check_literal |
( |
|
mystr | ) |
("" mystr) |
Results in a compile error if the argument is not a string literal.
#define printbuf_length |
( |
|
p | ) |
((p)->bpos) |
#define printbuf_memappend_fast |
( |
|
p, |
|
|
|
bufptr, |
|
|
|
bufsize |
|
) |
| |
Value:do { \
if ((p->size - p->bpos) > bufsize) { \
memcpy(p->buf + p->bpos, (bufptr), bufsize); \
p->bpos += bufsize; \
p->buf[p->bpos]= '\0'; \
} while (0)
int printbuf_memappend(struct printbuf *p, const char *buf, int size)
This is an optimization wrapper around printbuf_memappend() that is useful for appending string literals. Since the size of string constants is known at compile time, using this macro can avoid a costly strlen() call. This is especially helpful when a constant string must be appended many times. If you got here because of a compilation error caused by passing something other than a string literal, use printbuf_memappend_fast() in conjunction with strlen().
See also: printbuf_memappend_fast() printbuf_memappend() sprintbuf()
void printbuf_free |
( |
struct printbuf * |
p | ) |
|
int printbuf_memappend |
( |
struct printbuf * |
p, |
|
|
const char * |
buf, |
|
|
int |
size |
|
) |
| |
int printbuf_memset |
( |
struct printbuf * |
pb, |
|
|
int |
offset, |
|
|
int |
charvalue, |
|
|
int |
len |
|
) |
| |
Set len bytes of the buffer to charvalue, starting at offset offset. Similar to calling memset(x, charvalue, len);
The memory allocated for the buffer is extended as necessary.
If offset is -1, this starts at the end of the current data in the buffer.
void printbuf_reset |
( |
struct printbuf * |
p | ) |
|
int sprintbuf |
( |
struct printbuf * |
p, |
|
|
const char * |
msg, |
|
|
|
... |
|
) |
| |
Formatted print to printbuf.
This function is the most expensive of the available functions for appending string data to a printbuf and should be used only where convenience is more important than speed. Avoid using this function in high performance code or tight loops; in these scenarios, consider using snprintf() with a static buffer in conjunction with one of the printbuf_*append() functions.
See also: printbuf_memappend_fast() printbuf_memappend() printbuf_strappend()