i3bar: Fix warnings with libyajl1 (Thanks prg)

yajl1 has the status yajl_status_insufficient_data, which in our stream
parsing context basically means "ok". Therefore, in yajl1, we no longer
print an error in this case.
next
Michael Stapelberg 2012-07-16 19:23:37 +02:00
parent f989467184
commit 8f2e225db9
1 changed files with 6 additions and 2 deletions

View File

@ -210,9 +210,13 @@ void stdin_io_cb(struct ev_loop *loop, ev_io *watcher, int revents) {
}
if (!plaintext) {
yajl_status status = yajl_parse(parser, json_input, rec);
#if YAJL_MAJOR >= 2
if (status != yajl_status_ok) {
fprintf(stderr, "[i3bar] Could not parse JSON input: %.*s\n",
rec, json_input);
#else
if (status != yajl_status_ok && status != yajl_status_insufficient_data) {
#endif
fprintf(stderr, "[i3bar] Could not parse JSON input (code %d): %.*s\n",
status, rec, json_input);
}
free(buffer);
} else {