diff options
author | Austin Clements <amdragon@MIT.EDU> | 2012-08-02 21:14:49 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-08-03 20:21:29 -0300 |
commit | 14883b07003b9ed4223cd8f2c03b301fddae07bd (patch) | |
tree | 216ab7263c82a84aff4a03aa1ce759148cc07080 /sprinter.h | |
parent | 624d1897ce70fde8a41f2ea245db2a5e27f16ce1 (diff) |
sprinter: Add a string_len method
This method allows callers to output strings with specific lengths.
It's useful both for strings with embedded NULs (which JSON can
represent, though parser support is apparently spotty), and
non-terminated strings.
Diffstat (limited to 'sprinter.h')
-rw-r--r-- | sprinter.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -23,11 +23,14 @@ typedef struct sprinter { */ void (*end) (struct sprinter *); - /* Print one string/integer/boolean/null element (possibly inside a - * list or map, followed or preceded by separators). - * For string, the char * must be UTF-8 encoded. + /* Print one string/integer/boolean/null element (possibly inside + * a list or map, followed or preceded by separators). For string + * and string_len, the char * must be UTF-8 encoded. string_len + * allows non-terminated strings and strings with embedded NULs + * (though the handling of the latter is format-dependent). */ void (*string) (struct sprinter *, const char *); + void (*string_len) (struct sprinter *, const char *, size_t); void (*integer) (struct sprinter *, int); void (*boolean) (struct sprinter *, notmuch_bool_t); void (*null) (struct sprinter *); |