| 966:1aa7ec3e46e7 | 967:a58f602ed2fe |
|---|---|
| 36 #ifndef UCX_JSON_H | 36 #ifndef UCX_JSON_H |
| 37 #define UCX_JSON_H | 37 #define UCX_JSON_H |
| 38 | 38 |
| 39 #include "common.h" | 39 #include "common.h" |
| 40 #include "string.h" | 40 #include "string.h" |
| 41 #include "array_list.h" | |
| 41 | 42 |
| 42 #ifdef __cplusplus | 43 #ifdef __cplusplus |
| 43 extern "C" { | 44 extern "C" { |
| 44 #endif | 45 #endif |
| 45 | 46 |
| 144 | 145 |
| 145 int error; | 146 int error; |
| 146 }; | 147 }; |
| 147 | 148 |
| 148 struct cx_json_array_s { | 149 struct cx_json_array_s { |
| 149 CxJsonValue **array; | 150 CX_ARRAY_DECLARE(CxJsonValue*, array); |
| 150 size_t alloc; | |
| 151 size_t size; | |
| 152 }; | 151 }; |
| 153 | 152 |
| 154 struct cx_json_object_s { | 153 struct cx_json_object_s { |
| 155 CxJsonObjValue *values; | 154 CX_ARRAY_DECLARE(CxJsonObjValue, values); |
| 156 size_t alloc; | |
| 157 size_t size; | |
| 158 }; | 155 }; |
| 159 | 156 |
| 160 struct cx_json_obj_value_s { | 157 struct cx_json_obj_value_s { |
| 161 char *name; | 158 char *name; |
| 162 CxJsonValue *value; | 159 CxJsonValue *value; |
| 278 return value->value.literal == CX_JSON_TRUE; | 275 return value->value.literal == CX_JSON_TRUE; |
| 279 } | 276 } |
| 280 | 277 |
| 281 __attribute__((__nonnull__)) | 278 __attribute__((__nonnull__)) |
| 282 static inline size_t cxJsonArrSize(CxJsonValue *value) { | 279 static inline size_t cxJsonArrSize(CxJsonValue *value) { |
| 283 return value->value.array.size; | 280 return value->value.array.array_size; |
| 284 } | 281 } |
| 285 | 282 |
| 286 __attribute__((__nonnull__, __returns_nonnull__)) | 283 __attribute__((__nonnull__, __returns_nonnull__)) |
| 287 CxJsonValue *cxJsonArrGet(CxJsonValue *value, size_t index); | 284 CxJsonValue *cxJsonArrGet(CxJsonValue *value, size_t index); |
| 288 | 285 |