static bool human_readable_key;
static char *human_readable_version;
-#if YAJL_MAJOR >= 2
static int version_string(void *ctx, const unsigned char *val, size_t len) {
-#else
-static int version_string(void *ctx, const unsigned char *val, unsigned int len) {
-#endif
if (human_readable_key)
sasprintf(&human_readable_version, "%.*s", (int)len, val);
return 1;
}
-#if YAJL_MAJOR >= 2
static int version_map_key(void *ctx, const unsigned char *stringval, size_t stringlen) {
-#else
-static int version_map_key(void *ctx, const unsigned char *stringval, unsigned int stringlen) {
-#endif
human_readable_key = (stringlen == strlen("human_readable") &&
strncmp((const char*)stringval, "human_readable", strlen("human_readable")) == 0);
return 1;
}
static yajl_callbacks version_callbacks = {
- NULL, /* null */
- NULL, /* boolean */
- NULL, /* integer */
- NULL, /* double */
- NULL, /* number */
- &version_string,
- NULL, /* start_map */
- &version_map_key,
- NULL, /* end_map */
- NULL, /* start_array */
- NULL /* end_array */
+ .yajl_string = version_string,
+ .yajl_map_key = version_map_key,
};
/*
if (reply_type != I3_IPC_MESSAGE_TYPE_GET_VERSION)
errx(EXIT_FAILURE, "Got reply type %d, but expected %d (GET_VERSION)", reply_type, I3_IPC_MESSAGE_TYPE_GET_VERSION);
-#if YAJL_MAJOR >= 2
yajl_handle handle = yajl_alloc(&version_callbacks, NULL, NULL);
-#else
- yajl_parser_config parse_conf = { 0, 0 };
-
- yajl_handle handle = yajl_alloc(&version_callbacks, &parse_conf, NULL, NULL);
-#endif
yajl_status state = yajl_parse(handle, (const unsigned char*)reply, (int)reply_length);
if (state != yajl_status_ok)