Revert "use designated initializers for yajl_callbacks struct"

This reverts commit 705b43294a.

This commit broke i3bar for some users.
This commit is contained in:
Michael Stapelberg
2014-01-05 13:05:31 +01:00
parent f6ee035c61
commit 2fea5ef82b
11 changed files with 114 additions and 58 deletions

View File

@ -42,8 +42,17 @@ static int version_map_key(void *ctx, const unsigned char *stringval, unsigned i
}
static yajl_callbacks version_callbacks = {
.yajl_string = version_string,
.yajl_map_key = version_map_key,
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 */
};
/*

View File

@ -815,6 +815,7 @@ static int add_subscription(void *extra, const unsigned char *s,
*/
IPC_HANDLER(subscribe) {
yajl_handle p;
yajl_callbacks callbacks;
yajl_status stat;
ipc_client *current, *client = NULL;
@ -833,9 +834,8 @@ IPC_HANDLER(subscribe) {
}
/* Setup the JSON parser */
yajl_callbacks callbacks = {
.yajl_string = add_subscription,
};
memset(&callbacks, 0, sizeof(yajl_callbacks));
callbacks.yajl_string = add_subscription;
p = yalloc(&callbacks, (void*)client);
stat = yajl_parse(p, (const unsigned char*)message, message_size);

View File

@ -51,10 +51,17 @@ static int json_end_map(void *ctx) {
}
static yajl_callbacks command_error_callbacks = {
.yajl_boolean = json_boolean,
.yajl_start_map = json_start_map,
.yajl_map_key = json_map_key,
.yajl_end_map = json_end_map,
NULL,
&json_boolean,
NULL,
NULL,
NULL,
NULL,
&json_start_map,
&json_map_key,
&json_end_map,
NULL,
NULL
};
/*

View File

@ -406,16 +406,16 @@ void tree_append_json(const char *filename, char **errormsg) {
LOG("read %d bytes\n", n);
yajl_gen g;
yajl_handle hand;
yajl_callbacks callbacks = {
.yajl_boolean = json_bool,
.yajl_integer = json_int,
.yajl_double = json_double,
.yajl_string = json_string,
.yajl_start_map = json_start_map,
.yajl_map_key = json_key,
.yajl_end_map = json_end_map,
.yajl_end_array = json_end_array,
};
yajl_callbacks callbacks;
memset(&callbacks, '\0', sizeof(yajl_callbacks));
callbacks.yajl_start_map = json_start_map;
callbacks.yajl_end_map = json_end_map;
callbacks.yajl_end_array = json_end_array;
callbacks.yajl_string = json_string;
callbacks.yajl_map_key = json_key;
callbacks.yajl_integer = json_int;
callbacks.yajl_double = json_double;
callbacks.yajl_boolean = json_bool;
#if YAJL_MAJOR >= 2
g = yajl_gen_alloc(NULL);
hand = yajl_alloc(&callbacks, NULL, (void*)g);