src/cx/json.h

changeset 973
05910a8994f7
parent 967
a58f602ed2fe
child 974
ed44741d8ab5
equal deleted inserted replaced
972:a9a1d07a6840 973:05910a8994f7
178 178
179 __attribute__((__nonnull__)) 179 __attribute__((__nonnull__))
180 void cxJsonDestroy(CxJson *json); 180 void cxJsonDestroy(CxJson *json);
181 181
182 __attribute__((__nonnull__)) 182 __attribute__((__nonnull__))
183 void cxJsonFill(CxJson *json, const char *buf, size_t len); 183 int cxJsonFilln(CxJson *json, const char *buf, size_t len);
184
185 #define cxJsonFill(prop, str) _Generic((str), \
186 cxstring: cx_json_fill_cxstr, \
187 cxmutstr: cx_json_fill_mutstr, \
188 char*: cx_json_fill_str, \
189 const char*: cx_json_fill_str) \
190 (prop, str)
191
192 __attribute__((__nonnull__))
193 static inline int cx_json_fill_cxstr(
194 CxJson *json,
195 cxstring str
196 ) {
197 return cxJsonFilln(json, str.ptr, str.length);
198 }
199
200 __attribute__((__nonnull__))
201 static inline int cx_json_fill_mutstr(
202 CxJson *json,
203 cxmutstr str
204 ) {
205 return cxJsonFilln(json, str.ptr, str.length);
206 }
207
208 __attribute__((__nonnull__))
209 static inline int cx_json_fill_str(
210 CxJson *json,
211 const char *str
212 ) {
213 return cxJsonFilln(json, str, strlen(str));
214 }
215
184 216
185 __attribute__((__nonnull__)) 217 __attribute__((__nonnull__))
186 int cxJsonNext(CxJson *json, CxJsonValue **value); 218 int cxJsonNext(CxJson *json, CxJsonValue **value);
187 219
188 void cxJsonValueFree(CxJsonValue *value); 220 void cxJsonValueFree(CxJsonValue *value);

mercurial