mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-14 01:00:07 +00:00
benchtests: Print string array elements, int and uint in json
Enhance the json module in benchtests to print signed and unsigned integers and string array elements. * benchtests/json-lib.h: Include inttypes.h. (json_attr_int, json_attr_int, json_element_string, json_element_int, json_element_uint): New functions. * benchtests/json-lib.c: (json_attr_int, json_attr_int, json_element_string, json_element_int, json_element_uint): New functions.
This commit is contained in:
parent
5070551cbf
commit
738a9914a0
@ -100,6 +100,32 @@ json_attr_string (json_ctx_t *ctx, const char *name, const char *s)
|
|||||||
fprintf (ctx->fp, "\"%s\": \"%s\"", name, s);
|
fprintf (ctx->fp, "\"%s\": \"%s\"", name, 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
|
void
|
||||||
json_attr_double (json_ctx_t *ctx, const char *name, double d)
|
json_attr_double (json_ctx_t *ctx, const char *name, double d)
|
||||||
{
|
{
|
||||||
@ -136,6 +162,42 @@ json_array_end (json_ctx_t *ctx)
|
|||||||
fputs ("]", ctx->fp);
|
fputs ("]", ctx->fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
void
|
||||||
json_element_double (json_ctx_t *ctx, double d)
|
json_element_double (json_ctx_t *ctx, double d)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#define __JSON_LIB_H__
|
#define __JSON_LIB_H__
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include <inttypes.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
struct json_ctx
|
struct json_ctx
|
||||||
@ -37,9 +38,14 @@ void json_document_end (json_ctx_t *ctx);
|
|||||||
void json_attr_object_begin (json_ctx_t *ctx, const char *name);
|
void json_attr_object_begin (json_ctx_t *ctx, const char *name);
|
||||||
void json_attr_object_end (json_ctx_t *ctx);
|
void json_attr_object_end (json_ctx_t *ctx);
|
||||||
void json_attr_string (json_ctx_t *ctx, const char *name, const char *s);
|
void json_attr_string (json_ctx_t *ctx, const char *name, const char *s);
|
||||||
|
void json_attr_int (json_ctx_t *ctx, const char *name, int64_t d);
|
||||||
|
void json_attr_uint (json_ctx_t *ctx, const char *name, uint64_t d);
|
||||||
void json_attr_double (json_ctx_t *ctx, const char *name, double d);
|
void json_attr_double (json_ctx_t *ctx, const char *name, double d);
|
||||||
void json_array_begin (json_ctx_t *ctx, const char *name);
|
void json_array_begin (json_ctx_t *ctx, const char *name);
|
||||||
void json_array_end (json_ctx_t *ctx);
|
void json_array_end (json_ctx_t *ctx);
|
||||||
|
void json_element_string (json_ctx_t *ctx, const char *s);
|
||||||
|
void json_element_int (json_ctx_t *ctx, int64_t d);
|
||||||
|
void json_element_uint (json_ctx_t *ctx, uint64_t d);
|
||||||
void json_element_double (json_ctx_t *ctx, double d);
|
void json_element_double (json_ctx_t *ctx, double d);
|
||||||
void json_element_object_begin (json_ctx_t *ctx);
|
void json_element_object_begin (json_ctx_t *ctx);
|
||||||
void json_element_object_end (json_ctx_t *ctx);
|
void json_element_object_end (json_ctx_t *ctx);
|
||||||
|
Loading…
Reference in New Issue
Block a user