diff options
Diffstat (limited to 'testing/hstox/util.c')
-rw-r--r-- | testing/hstox/util.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/testing/hstox/util.c b/testing/hstox/util.c new file mode 100644 index 00000000..9461596c --- /dev/null +++ b/testing/hstox/util.c | |||
@@ -0,0 +1,74 @@ | |||
1 | #include "util.h" | ||
2 | |||
3 | #include <stdarg.h> | ||
4 | |||
5 | char const *type_name(msgpack_object_type type) | ||
6 | { | ||
7 | switch (type) { | ||
8 | case MSGPACK_OBJECT_NIL: | ||
9 | return "nil"; | ||
10 | |||
11 | case MSGPACK_OBJECT_BOOLEAN: | ||
12 | return "boolean"; | ||
13 | |||
14 | case MSGPACK_OBJECT_POSITIVE_INTEGER: | ||
15 | return "positive_integer"; | ||
16 | |||
17 | case MSGPACK_OBJECT_NEGATIVE_INTEGER: | ||
18 | return "negative_integer"; | ||
19 | |||
20 | case MSGPACK_OBJECT_FLOAT: | ||
21 | return "float"; | ||
22 | |||
23 | case MSGPACK_OBJECT_STR: | ||
24 | return "str"; | ||
25 | |||
26 | case MSGPACK_OBJECT_ARRAY: | ||
27 | return "array"; | ||
28 | |||
29 | case MSGPACK_OBJECT_MAP: | ||
30 | return "map"; | ||
31 | |||
32 | case MSGPACK_OBJECT_BIN: | ||
33 | return "bin"; | ||
34 | |||
35 | case MSGPACK_OBJECT_EXT: | ||
36 | return "ext"; | ||
37 | } | ||
38 | |||
39 | return "<unknown type>"; | ||
40 | } | ||
41 | |||
42 | int msgpack_pack_string(msgpack_packer *pk, char const *str) | ||
43 | { | ||
44 | size_t len = strlen(str); | ||
45 | msgpack_pack_str(pk, len); | ||
46 | return msgpack_pack_str_body(pk, str, len); | ||
47 | } | ||
48 | |||
49 | int msgpack_pack_vstringf(msgpack_packer *pk, char const *fmt, va_list ap) | ||
50 | { | ||
51 | char buf[1024]; | ||
52 | vsnprintf(buf, sizeof buf, fmt, ap); | ||
53 | return msgpack_pack_string(pk, buf); | ||
54 | } | ||
55 | |||
56 | int msgpack_pack_stringf(msgpack_packer *pk, char const *fmt, ...) | ||
57 | { | ||
58 | va_list ap; | ||
59 | va_start(ap, fmt); | ||
60 | int res = msgpack_pack_vstringf(pk, fmt, ap); | ||
61 | va_end(ap); | ||
62 | return res; | ||
63 | } | ||
64 | |||
65 | char const *ssprintf(char const *fmt, ...) | ||
66 | { | ||
67 | static char buf[1024]; | ||
68 | |||
69 | va_list ap; | ||
70 | va_start(ap, fmt); | ||
71 | vsnprintf(buf, sizeof buf, fmt, ap); | ||
72 | va_end(ap); | ||
73 | return buf; | ||
74 | } | ||