We need to output unsigned long values for message and thread (sum of all message's) file sizes. Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com> --- sprinter-json.c | 9 +++++++++ sprinter-sexp.c | 9 +++++++++ sprinter-text.c | 9 +++++++++ sprinter.h | 1 + 4 files changed, 28 insertions(+) diff --git a/sprinter-json.c b/sprinter-json.c index 0a077907..de1dbec2 100644 --- a/sprinter-json.c +++ b/sprinter-json.c @@ -132,6 +132,14 @@ json_integer (struct sprinter *sp, int val) } static void +json_unsigned_long (struct sprinter *sp, unsigned long val) +{ + struct sprinter_json *spj = json_begin_value (sp); + + fprintf (spj->stream, "%lu", val); +} + +static void json_boolean (struct sprinter *sp, notmuch_bool_t val) { struct sprinter_json *spj = json_begin_value (sp); @@ -181,6 +189,7 @@ sprinter_json_create (const void *ctx, FILE *stream) .string = json_string, .string_len = json_string_len, .integer = json_integer, + .unsigned_long = json_unsigned_long, .boolean = json_boolean, .null = json_null, .map_key = json_map_key, diff --git a/sprinter-sexp.c b/sprinter-sexp.c index 08783e11..3162ad9c 100644 --- a/sprinter-sexp.c +++ b/sprinter-sexp.c @@ -169,6 +169,14 @@ sexp_integer (struct sprinter *sp, int val) } static void +sexp_unsigned_long (struct sprinter *sp, unsigned long val) +{ + struct sprinter_sexp *sps = sexp_begin_value (sp); + + fprintf (sps->stream, "%lu", val); +} + +static void sexp_boolean (struct sprinter *sp, notmuch_bool_t val) { struct sprinter_sexp *sps = sexp_begin_value (sp); @@ -216,6 +224,7 @@ sprinter_sexp_create (const void *ctx, FILE *stream) .string = sexp_string, .string_len = sexp_string_len, .integer = sexp_integer, + .unsigned_long = sexp_unsigned_long, .boolean = sexp_boolean, .null = sexp_null, .map_key = sexp_map_key, diff --git a/sprinter-text.c b/sprinter-text.c index 7779488f..5d1607e9 100644 --- a/sprinter-text.c +++ b/sprinter-text.c @@ -52,6 +52,14 @@ text_integer (struct sprinter *sp, int val) } static void +text_unsigned_long (struct sprinter *sp, unsigned long val) +{ + struct sprinter_text *sptxt = (struct sprinter_text *) sp; + + fprintf (sptxt->stream, "%lu", val); +} + +static void text_boolean (struct sprinter *sp, notmuch_bool_t val) { struct sprinter_text *sptxt = (struct sprinter_text *) sp; @@ -123,6 +131,7 @@ sprinter_text_create (const void *ctx, FILE *stream) .string = text_string, .string_len = text_string_len, .integer = text_integer, + .unsigned_long = text_unsigned_long, .boolean = text_boolean, .null = text_null, .map_key = text_map_key, diff --git a/sprinter.h b/sprinter.h index f859672f..2495a7d1 100644 --- a/sprinter.h +++ b/sprinter.h @@ -34,6 +34,7 @@ typedef struct sprinter { void (*string) (struct sprinter *, const char *); void (*string_len) (struct sprinter *, const char *, size_t); void (*integer) (struct sprinter *, int); + void (*unsigned_long) (struct sprinter *, unsigned long); void (*boolean) (struct sprinter *, notmuch_bool_t); void (*null) (struct sprinter *); -- 2.13.0