]> git.sur5r.net Git - i3/i3/blob - include/yajl_utils.h
Merge branch 'master' into next
[i3/i3] / include / yajl_utils.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * yajl_utils.h
8  *
9  */
10 #pragma once
11
12 #include <yajl/yajl_gen.h>
13 #include <yajl/yajl_parse.h>
14 #include <yajl/yajl_version.h>
15
16 /* Shorter names for all those yajl_gen_* functions */
17 #define y(x, ...) yajl_gen_ ## x (gen, ##__VA_ARGS__)
18 #define ystr(str) yajl_gen_string(gen, (unsigned char*)str, strlen(str))
19
20 #if YAJL_MAJOR >= 2
21 #define ygenalloc() yajl_gen_alloc(NULL)
22 #define yalloc(callbacks, client) yajl_alloc(callbacks, NULL, client)
23 typedef size_t ylength;
24 #else
25 #define ygenalloc() yajl_gen_alloc(NULL, NULL);
26 #define yalloc(callbacks, client) yajl_alloc(callbacks, NULL, NULL, client)
27 typedef unsigned int ylength;
28 #endif