json-c 0.18
|
Internal string buffer handling. 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...
Data Structures | |
struct | printbuf |
Macros | |
#define | JSON_EXPORT extern |
#define | printbuf_memappend_fast(p, bufptr, bufsize) |
#define | printbuf_length(p) ((p)->bpos) |
#define | printbuf_strappend(pb, str) printbuf_memappend((pb), _printbuf_check_literal(str), sizeof(str) - 1) |
Typedefs | |
typedef struct printbuf | printbuf |
Functions | |
JSON_EXPORT struct printbuf * | printbuf_new (void) |
JSON_EXPORT int | printbuf_memappend (struct printbuf *p, const char *buf, int size) |
JSON_EXPORT int | printbuf_memset (struct printbuf *pb, int offset, int charvalue, int len) |
JSON_EXPORT int | sprintbuf (struct printbuf *p, const char *msg,...) |
JSON_EXPORT void | printbuf_reset (struct printbuf *p) |
JSON_EXPORT void | printbuf_free (struct printbuf *p) |
Internal string buffer handling. 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 JSON_EXPORT extern |
#define printbuf_length | ( | p | ) | ((p)->bpos) |
#define printbuf_memappend_fast | ( | p, | |
bufptr, | |||
bufsize | |||
) |
#define printbuf_strappend | ( | pb, | |
str | |||
) | printbuf_memappend((pb), _printbuf_check_literal(str), sizeof(str) - 1) |
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()
JSON_EXPORT void printbuf_free | ( | struct printbuf * | p | ) |
JSON_EXPORT int printbuf_memappend | ( | struct printbuf * | p, |
const char * | buf, | ||
int | size | ||
) |
JSON_EXPORT 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.
JSON_EXPORT struct printbuf * printbuf_new | ( | void | ) |
JSON_EXPORT void printbuf_reset | ( | struct printbuf * | p | ) |
JSON_EXPORT 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()