/* Simple library for printing JSON data.
- Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ Copyright (C) 2014-2024 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
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#include <string.h>
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
json_attr_double (json_ctx_t *ctx, const char *name, double d)
{
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
json_element_double (json_ctx_t *ctx, double d)
{