From 402c3db7ac5b0dedc4faed152eb9cf5668c87510 Mon Sep 17 00:00:00 2001 From: "haptix@web.de" Date: Sat, 6 Apr 2013 14:50:46 +0200 Subject: [PATCH] restore i3bar compatibility with libyajl version 1 fixes #1004 --- i3bar/src/child.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index ad93681c..4e5e49c9 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -359,7 +359,11 @@ void child_sig_cb(struct ev_loop *loop, ev_child *watcher, int revents) { void child_write_output(void) { if (child.click_events) { const unsigned char *output; +#if YAJL_MAJOR < 2 + unsigned int size; +#else size_t size; +#endif yajl_gen_get_buf(gen, &output, &size); write(child_stdin, output, size); write(child_stdin, "\n", 1); @@ -388,11 +392,13 @@ void start_child(char *command) { yajl_parser_config parse_conf = { 0, 0 }; parser = yajl_alloc(&callbacks, &parse_conf, NULL, (void*)&parser_context); + + gen = yajl_gen_alloc(NULL, NULL); #else parser = yajl_alloc(&callbacks, NULL, &parser_context); -#endif gen = yajl_gen_alloc(NULL); +#endif if (command != NULL) { int pipe_in[2]; /* pipe we read from */