diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 15:49:30 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 15:49:30 +0000 |
commit | e14d51045326808a48d43d7e0b45860cd33e2b17 (patch) | |
tree | 90b47e500bf7b1ccffae92fc2105cea5b8b7b61f /benchtests/json-lib.c | |
parent | c949e9c224c0fc890982cc42797ae868b04faa00 (diff) | |
parent | 963c37d5c0eb62b38f8764b23931c0dcdd497a13 (diff) |
Merge commit 'refs/top-bases/t/context_functions' into t/context_functions
Diffstat (limited to 'benchtests/json-lib.c')
-rw-r--r-- | benchtests/json-lib.c | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/benchtests/json-lib.c b/benchtests/json-lib.c index 255e8b2b7c..2e44a2be8a 100644 --- a/benchtests/json-lib.c +++ b/benchtests/json-lib.c @@ -1,5 +1,5 @@ /* Simple library for printing JSON data. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -101,6 +101,32 @@ json_attr_string (json_ctx_t *ctx, const char *name, const char *s) } void +json_attr_uint (json_ctx_t *ctx, const char *name, uint64_t d) +{ + if (!ctx->first_element) + fprintf (ctx->fp, ",\n"); + else + ctx->first_element = false; + + do_indent (ctx); + + fprintf (ctx->fp, "\"%s\": %" PRIu64 , name, d); +} + +void +json_attr_int (json_ctx_t *ctx, const char *name, int64_t d) +{ + if (!ctx->first_element) + fprintf (ctx->fp, ",\n"); + else + ctx->first_element = false; + + do_indent (ctx); + + fprintf (ctx->fp, "\"%s\": %" PRId64 , name, d); +} + +void json_attr_double (json_ctx_t *ctx, const char *name, double d) { if (!ctx->first_element) @@ -137,6 +163,42 @@ json_array_end (json_ctx_t *ctx) } void +json_element_string (json_ctx_t *ctx, const char *s) +{ + if (!ctx->first_element) + fprintf (ctx->fp, ", \"%s\"", s); + else + { + fprintf (ctx->fp, "\"%s\"", s); + ctx->first_element = false; + } +} + +void +json_element_uint (json_ctx_t *ctx, uint64_t d) +{ + if (!ctx->first_element) + fprintf (ctx->fp, ", %" PRIu64, d); + else + { + fprintf (ctx->fp, "%" PRIu64, d); + ctx->first_element = false; + } +} + +void +json_element_int (json_ctx_t *ctx, int64_t d) +{ + if (!ctx->first_element) + fprintf (ctx->fp, ", %" PRId64, d); + else + { + fprintf (ctx->fp, "%" PRId64, d); + ctx->first_element = false; + } +} + +void json_element_double (json_ctx_t *ctx, double d) { if (!ctx->first_element) |