Lines Matching refs:ctx

24 json_init (json_ctx_t *ctx, unsigned int indent_level, FILE *fp)  in json_init()  argument
26 ctx->indent_level = indent_level; in json_init()
27 ctx->fp = fp; in json_init()
28 ctx->first_element = true; in json_init()
32 do_indent (json_ctx_t *ctx) in do_indent() argument
34 char indent_buf[ctx->indent_level + 1]; in do_indent()
36 memset (indent_buf, ' ', ctx->indent_level + 1); in do_indent()
37 indent_buf[ctx->indent_level] = '\0'; in do_indent()
39 fputs (indent_buf, ctx->fp); in do_indent()
43 json_document_begin (json_ctx_t *ctx) in json_document_begin() argument
45 do_indent (ctx); in json_document_begin()
47 fputs ("{\n", ctx->fp); in json_document_begin()
49 ctx->indent_level++; in json_document_begin()
50 ctx->first_element = true; in json_document_begin()
54 json_document_end (json_ctx_t *ctx) in json_document_end() argument
56 ctx->indent_level--; in json_document_end()
58 do_indent (ctx); in json_document_end()
60 fputs ("\n}", ctx->fp); in json_document_end()
64 json_attr_object_begin (json_ctx_t *ctx, const char *name) in json_attr_object_begin() argument
66 if (!ctx->first_element) in json_attr_object_begin()
67 fprintf (ctx->fp, ",\n"); in json_attr_object_begin()
69 do_indent (ctx); in json_attr_object_begin()
71 fprintf (ctx->fp, "\"%s\": {\n", name); in json_attr_object_begin()
73 ctx->indent_level++; in json_attr_object_begin()
74 ctx->first_element = true; in json_attr_object_begin()
78 json_attr_object_end (json_ctx_t *ctx) in json_attr_object_end() argument
80 ctx->indent_level--; in json_attr_object_end()
81 ctx->first_element = false; in json_attr_object_end()
83 fputs ("\n", ctx->fp); in json_attr_object_end()
85 do_indent (ctx); in json_attr_object_end()
87 fputs ("}", ctx->fp); in json_attr_object_end()
91 json_attr_string (json_ctx_t *ctx, const char *name, const char *s) in json_attr_string() argument
93 if (!ctx->first_element) in json_attr_string()
94 fprintf (ctx->fp, ",\n"); in json_attr_string()
96 ctx->first_element = false; in json_attr_string()
98 do_indent (ctx); in json_attr_string()
100 fprintf (ctx->fp, "\"%s\": \"%s\"", name, s); in json_attr_string()
104 json_attr_uint (json_ctx_t *ctx, const char *name, uint64_t d) in json_attr_uint() argument
106 if (!ctx->first_element) in json_attr_uint()
107 fprintf (ctx->fp, ",\n"); in json_attr_uint()
109 ctx->first_element = false; in json_attr_uint()
111 do_indent (ctx); in json_attr_uint()
113 fprintf (ctx->fp, "\"%s\": %" PRIu64 , name, d); in json_attr_uint()
117 json_attr_int (json_ctx_t *ctx, const char *name, int64_t d) in json_attr_int() argument
119 if (!ctx->first_element) in json_attr_int()
120 fprintf (ctx->fp, ",\n"); in json_attr_int()
122 ctx->first_element = false; in json_attr_int()
124 do_indent (ctx); in json_attr_int()
126 fprintf (ctx->fp, "\"%s\": %" PRId64 , name, d); in json_attr_int()
130 json_attr_double (json_ctx_t *ctx, const char *name, double d) in json_attr_double() argument
132 if (!ctx->first_element) in json_attr_double()
133 fprintf (ctx->fp, ",\n"); in json_attr_double()
135 ctx->first_element = false; in json_attr_double()
137 do_indent (ctx); in json_attr_double()
139 fprintf (ctx->fp, "\"%s\": %g", name, d); in json_attr_double()
143 json_array_begin (json_ctx_t *ctx, const char *name) in json_array_begin() argument
145 if (!ctx->first_element) in json_array_begin()
146 fprintf (ctx->fp, ",\n"); in json_array_begin()
148 do_indent (ctx); in json_array_begin()
150 fprintf (ctx->fp, "\"%s\": [", name); in json_array_begin()
152 ctx->indent_level++; in json_array_begin()
153 ctx->first_element = true; in json_array_begin()
157 json_array_end (json_ctx_t *ctx) in json_array_end() argument
159 ctx->indent_level--; in json_array_end()
160 ctx->first_element = false; in json_array_end()
162 fputs ("]", ctx->fp); in json_array_end()
166 json_element_string (json_ctx_t *ctx, const char *s) in json_element_string() argument
168 if (!ctx->first_element) in json_element_string()
169 fprintf (ctx->fp, ", \"%s\"", s); in json_element_string()
172 fprintf (ctx->fp, "\"%s\"", s); in json_element_string()
173 ctx->first_element = false; in json_element_string()
178 json_element_uint (json_ctx_t *ctx, uint64_t d) in json_element_uint() argument
180 if (!ctx->first_element) in json_element_uint()
181 fprintf (ctx->fp, ", %" PRIu64, d); in json_element_uint()
184 fprintf (ctx->fp, "%" PRIu64, d); in json_element_uint()
185 ctx->first_element = false; in json_element_uint()
190 json_element_int (json_ctx_t *ctx, int64_t d) in json_element_int() argument
192 if (!ctx->first_element) in json_element_int()
193 fprintf (ctx->fp, ", %" PRId64, d); in json_element_int()
196 fprintf (ctx->fp, "%" PRId64, d); in json_element_int()
197 ctx->first_element = false; in json_element_int()
202 json_element_double (json_ctx_t *ctx, double d) in json_element_double() argument
204 if (!ctx->first_element) in json_element_double()
205 fprintf (ctx->fp, ", %g", d); in json_element_double()
208 fprintf (ctx->fp, "%g", d); in json_element_double()
209 ctx->first_element = false; in json_element_double()
214 json_element_object_begin (json_ctx_t *ctx) in json_element_object_begin() argument
216 if (!ctx->first_element) in json_element_object_begin()
217 fprintf (ctx->fp, ","); in json_element_object_begin()
219 fputs ("\n", ctx->fp); in json_element_object_begin()
221 do_indent (ctx); in json_element_object_begin()
223 fputs ("{\n", ctx->fp); in json_element_object_begin()
225 ctx->indent_level++; in json_element_object_begin()
226 ctx->first_element = true; in json_element_object_begin()
230 json_element_object_end (json_ctx_t *ctx) in json_element_object_end() argument
232 ctx->indent_level--; in json_element_object_end()
233 ctx->first_element = false; in json_element_object_end()
235 fputs ("\n", ctx->fp); in json_element_object_end()
237 do_indent (ctx); in json_element_object_end()
239 fputs ("}", ctx->fp); in json_element_object_end()