#include <ctype.h>
#include <float.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
#include "allocation.h"
#include "loader.h"
#include "log.h"
static void *cJSON_malloc(const VkAllocationCallbacks *pAllocator, size_t size) { … }
static void *cJSON_malloc_instance_scope(const VkAllocationCallbacks *pAllocator, size_t size) { … }
static void cJSON_Free(const VkAllocationCallbacks *pAllocator, void *pMemory) { … }
static char *cJSON_strdup(const VkAllocationCallbacks *pAllocator, const char *str) { … }
static cJSON *cJSON_New_Item(const VkAllocationCallbacks *pAllocator) { … }
void loader_cJSON_Delete(cJSON *c) { … }
static const char *parse_number(cJSON *item, const char *num) { … }
static size_t pow2gt(size_t x) { … }
printbuffer;
static char *ensure(const VkAllocationCallbacks *pAllocator, printbuffer *p, size_t needed) { … }
static size_t cJSON_update(printbuffer *p) { … }
static char *print_number(cJSON *item, printbuffer *p) { … }
static unsigned parse_hex4(const char *str) { … }
static const unsigned char firstByteMark[7] = …;
static const char *parse_string(cJSON *item, const char *str, bool *out_of_memory) { … }
static char *print_string_ptr(const VkAllocationCallbacks *pAllocator, const char *str, printbuffer *p) { … }
static char *print_string(cJSON *item, printbuffer *p) { … }
static const char *parse_value(cJSON *item, const char *value, bool *out_of_memory);
static char *print_value(cJSON *item, int depth, int fmt, printbuffer *p);
static const char *parse_array(cJSON *item, const char *value, bool *out_of_memory);
static char *print_array(cJSON *item, int depth, int fmt, printbuffer *p);
static const char *parse_object(cJSON *item, const char *value, bool *out_of_memory);
static char *print_object(cJSON *item, int depth, int fmt, printbuffer *p);
static const char *skip(const char *in) { … }
static cJSON *cJSON_ParseWithOpts(const VkAllocationCallbacks *pAllocator, const char *value, const char **return_parse_end,
int require_null_terminated, bool *out_of_memory) { … }
static cJSON *cJSON_Parse(const VkAllocationCallbacks *pAllocator, const char *value, bool *out_of_memory) { … }
char *loader_cJSON_Print(cJSON *item) { … }
char *loader_cJSON_PrintUnformatted(cJSON *item) { … }
static const char *parse_value(cJSON *item, const char *value, bool *out_of_memory) { … }
static char *print_value(cJSON *item, int depth, int fmt, printbuffer *p) { … }
static const char *parse_array(cJSON *item, const char *value, bool *out_of_memory) { … }
static char *print_array(cJSON *item, int depth, int fmt, printbuffer *p) { … }
static const char *parse_object(cJSON *item, const char *value, bool *out_of_memory) { … }
static char *print_object(cJSON *item, int depth, int fmt, printbuffer *p) { … }
int loader_cJSON_GetArraySize(cJSON *array) { … }
cJSON *loader_cJSON_GetArrayItem(cJSON *array, int item) { … }
cJSON *loader_cJSON_GetObjectItem(cJSON *object, const char *string) { … }
VkResult loader_get_json(const struct loader_instance *inst, const char *filename, cJSON **json) { … }
VkResult loader_parse_json_string_to_existing_str(const struct loader_instance *inst, cJSON *object, const char *key,
size_t out_str_len, char *out_string) { … }
VkResult loader_parse_json_string(cJSON *object, const char *key, char **out_string) { … }
VkResult loader_parse_json_array_of_strings(const struct loader_instance *inst, cJSON *object, const char *key,
struct loader_string_list *string_list) { … }