lwtarantool 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +84 -0
- data/ext/lwtarantool/conn.c +314 -0
- data/ext/lwtarantool/depend +23 -0
- data/ext/lwtarantool/errors.c +24 -0
- data/ext/lwtarantool/extconf.rb +8 -0
- data/ext/lwtarantool/lwtarantool.c +12 -0
- data/ext/lwtarantool/lwtarantool.h +38 -0
- data/ext/lwtarantool/request.c +124 -0
- data/ext/lwtarantool/vendor/msgpuck/CMakeLists.txt +73 -0
- data/ext/lwtarantool/vendor/msgpuck/hints.c +674 -0
- data/ext/lwtarantool/vendor/msgpuck/msgpuck.c +375 -0
- data/ext/lwtarantool/vendor/msgpuck/msgpuck.h +2195 -0
- data/ext/lwtarantool/vendor/msgpuck/test/CMakeLists.txt +25 -0
- data/ext/lwtarantool/vendor/msgpuck/test/msgpuck.c +1126 -0
- data/ext/lwtarantool/vendor/msgpuck/test/test.c +105 -0
- data/ext/lwtarantool/vendor/msgpuck/test/test.h +123 -0
- data/ext/lwtarantool/vendor/tarantool-c/CMakeLists.txt +89 -0
- data/ext/lwtarantool/vendor/tarantool-c/cmake/FindMsgPuck.cmake +18 -0
- data/ext/lwtarantool/vendor/tarantool-c/cmake/FindSphinx.cmake +10 -0
- data/ext/lwtarantool/vendor/tarantool-c/doc/CMakeLists.txt +15 -0
- data/ext/lwtarantool/vendor/tarantool-c/doc/source/example.c +340 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/CMakeLists.txt +6 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tarantool.h +67 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_auth.h +72 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_buf.h +88 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_call.h +83 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_delete.h +52 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_execute.h +24 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_insert.h +62 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_io.h +67 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_iob.h +62 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_iter.h +301 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_mem.h +102 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_net.h +242 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_object.h +248 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_opt.h +138 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_ping.h +49 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_proto.h +295 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_reply.h +204 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_request.h +377 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_schema.h +165 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_select.h +59 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_stream.h +79 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tarantool/tnt_update.h +226 -0
- data/ext/lwtarantool/vendor/tarantool-c/include/tp.h +1998 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/CMakeLists.txt +36 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/common.c +233 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/common.h +28 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/plain_test.c +152 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tarantool_call.c +57 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tarantool_disconnect.c +31 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tarantool_tcp.c +840 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tarantool_unix.c +384 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/test.c +72 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/test.h +94 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tnt_assoc.c +6 -0
- data/ext/lwtarantool/vendor/tarantool-c/test/tnt_assoc.h +67 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/PMurHash.c +317 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/PMurHash.h +68 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/base64.c +300 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/base64.h +91 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/mhash.h +589 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/sha1.c +219 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/sha1.h +24 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/uri.c +6528 -0
- data/ext/lwtarantool/vendor/tarantool-c/third_party/uri.h +81 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/CMakeLists.txt +83 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/pmatomic.h +494 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_assoc.c +9 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_assoc.h +172 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_auth.c +118 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_buf.c +171 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_call.c +79 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_delete.c +52 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_execute.c +60 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_insert.c +60 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_io.c +520 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_iob.c +75 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_iter.c +293 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_mem.c +82 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_net.c +336 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_object.c +476 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_opt.c +117 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_ping.c +38 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_proto_internal.h +43 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_reply.c +300 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_request.c +336 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_schema.c +334 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_select.c +58 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_stream.c +71 -0
- data/ext/lwtarantool/vendor/tarantool-c/tnt/tnt_update.c +247 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/CMakeLists.txt +69 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_dir.c +173 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_dir.h +58 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_log.c +329 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_log.h +119 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_rpl.c +189 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_rpl.h +47 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_snapshot.c +163 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_snapshot.h +50 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_xlog.c +163 -0
- data/ext/lwtarantool/vendor/tarantool-c/tntrpl/tnt_xlog.h +50 -0
- data/lib/lwtarantool/connection.rb +84 -0
- data/lib/lwtarantool/request.rb +58 -0
- data/lib/lwtarantool.rb +23 -0
- metadata +164 -0
@@ -0,0 +1,674 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) 2013-2017 MsgPuck Authors
|
3
|
+
* All rights reserved.
|
4
|
+
*
|
5
|
+
* Redistribution and use in source and binary forms, with or
|
6
|
+
* without modification, are permitted provided that the following
|
7
|
+
* conditions are met:
|
8
|
+
*
|
9
|
+
* 1. Redistributions of source code must retain the above
|
10
|
+
* copyright notice, this list of conditions and the
|
11
|
+
* following disclaimer.
|
12
|
+
*
|
13
|
+
* 2. Redistributions in binary form must reproduce the above
|
14
|
+
* copyright notice, this list of conditions and the following
|
15
|
+
* disclaimer in the documentation and/or other materials
|
16
|
+
* provided with the distribution.
|
17
|
+
*
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND
|
19
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
20
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
21
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
* <COPYRIGHT HOLDER> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
24
|
+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
25
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
26
|
+
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
27
|
+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
29
|
+
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
30
|
+
* SUCH DAMAGE.
|
31
|
+
*/
|
32
|
+
|
33
|
+
#include "msgpuck.h"
|
34
|
+
|
35
|
+
/**
|
36
|
+
* This lookup table used by mp_sizeof() to determine enum mp_type by the first
|
37
|
+
* byte of MsgPack element.
|
38
|
+
*/
|
39
|
+
const enum mp_type mp_type_hint[256]= {
|
40
|
+
/* {{{ MP_UINT (fixed) */
|
41
|
+
/* 0x00 */ MP_UINT,
|
42
|
+
/* 0x01 */ MP_UINT,
|
43
|
+
/* 0x02 */ MP_UINT,
|
44
|
+
/* 0x03 */ MP_UINT,
|
45
|
+
/* 0x04 */ MP_UINT,
|
46
|
+
/* 0x05 */ MP_UINT,
|
47
|
+
/* 0x06 */ MP_UINT,
|
48
|
+
/* 0x07 */ MP_UINT,
|
49
|
+
/* 0x08 */ MP_UINT,
|
50
|
+
/* 0x09 */ MP_UINT,
|
51
|
+
/* 0x0a */ MP_UINT,
|
52
|
+
/* 0x0b */ MP_UINT,
|
53
|
+
/* 0x0c */ MP_UINT,
|
54
|
+
/* 0x0d */ MP_UINT,
|
55
|
+
/* 0x0e */ MP_UINT,
|
56
|
+
/* 0x0f */ MP_UINT,
|
57
|
+
/* 0x10 */ MP_UINT,
|
58
|
+
/* 0x11 */ MP_UINT,
|
59
|
+
/* 0x12 */ MP_UINT,
|
60
|
+
/* 0x13 */ MP_UINT,
|
61
|
+
/* 0x14 */ MP_UINT,
|
62
|
+
/* 0x15 */ MP_UINT,
|
63
|
+
/* 0x16 */ MP_UINT,
|
64
|
+
/* 0x17 */ MP_UINT,
|
65
|
+
/* 0x18 */ MP_UINT,
|
66
|
+
/* 0x19 */ MP_UINT,
|
67
|
+
/* 0x1a */ MP_UINT,
|
68
|
+
/* 0x1b */ MP_UINT,
|
69
|
+
/* 0x1c */ MP_UINT,
|
70
|
+
/* 0x1d */ MP_UINT,
|
71
|
+
/* 0x1e */ MP_UINT,
|
72
|
+
/* 0x1f */ MP_UINT,
|
73
|
+
/* 0x20 */ MP_UINT,
|
74
|
+
/* 0x21 */ MP_UINT,
|
75
|
+
/* 0x22 */ MP_UINT,
|
76
|
+
/* 0x23 */ MP_UINT,
|
77
|
+
/* 0x24 */ MP_UINT,
|
78
|
+
/* 0x25 */ MP_UINT,
|
79
|
+
/* 0x26 */ MP_UINT,
|
80
|
+
/* 0x27 */ MP_UINT,
|
81
|
+
/* 0x28 */ MP_UINT,
|
82
|
+
/* 0x29 */ MP_UINT,
|
83
|
+
/* 0x2a */ MP_UINT,
|
84
|
+
/* 0x2b */ MP_UINT,
|
85
|
+
/* 0x2c */ MP_UINT,
|
86
|
+
/* 0x2d */ MP_UINT,
|
87
|
+
/* 0x2e */ MP_UINT,
|
88
|
+
/* 0x2f */ MP_UINT,
|
89
|
+
/* 0x30 */ MP_UINT,
|
90
|
+
/* 0x31 */ MP_UINT,
|
91
|
+
/* 0x32 */ MP_UINT,
|
92
|
+
/* 0x33 */ MP_UINT,
|
93
|
+
/* 0x34 */ MP_UINT,
|
94
|
+
/* 0x35 */ MP_UINT,
|
95
|
+
/* 0x36 */ MP_UINT,
|
96
|
+
/* 0x37 */ MP_UINT,
|
97
|
+
/* 0x38 */ MP_UINT,
|
98
|
+
/* 0x39 */ MP_UINT,
|
99
|
+
/* 0x3a */ MP_UINT,
|
100
|
+
/* 0x3b */ MP_UINT,
|
101
|
+
/* 0x3c */ MP_UINT,
|
102
|
+
/* 0x3d */ MP_UINT,
|
103
|
+
/* 0x3e */ MP_UINT,
|
104
|
+
/* 0x3f */ MP_UINT,
|
105
|
+
/* 0x40 */ MP_UINT,
|
106
|
+
/* 0x41 */ MP_UINT,
|
107
|
+
/* 0x42 */ MP_UINT,
|
108
|
+
/* 0x43 */ MP_UINT,
|
109
|
+
/* 0x44 */ MP_UINT,
|
110
|
+
/* 0x45 */ MP_UINT,
|
111
|
+
/* 0x46 */ MP_UINT,
|
112
|
+
/* 0x47 */ MP_UINT,
|
113
|
+
/* 0x48 */ MP_UINT,
|
114
|
+
/* 0x49 */ MP_UINT,
|
115
|
+
/* 0x4a */ MP_UINT,
|
116
|
+
/* 0x4b */ MP_UINT,
|
117
|
+
/* 0x4c */ MP_UINT,
|
118
|
+
/* 0x4d */ MP_UINT,
|
119
|
+
/* 0x4e */ MP_UINT,
|
120
|
+
/* 0x4f */ MP_UINT,
|
121
|
+
/* 0x50 */ MP_UINT,
|
122
|
+
/* 0x51 */ MP_UINT,
|
123
|
+
/* 0x52 */ MP_UINT,
|
124
|
+
/* 0x53 */ MP_UINT,
|
125
|
+
/* 0x54 */ MP_UINT,
|
126
|
+
/* 0x55 */ MP_UINT,
|
127
|
+
/* 0x56 */ MP_UINT,
|
128
|
+
/* 0x57 */ MP_UINT,
|
129
|
+
/* 0x58 */ MP_UINT,
|
130
|
+
/* 0x59 */ MP_UINT,
|
131
|
+
/* 0x5a */ MP_UINT,
|
132
|
+
/* 0x5b */ MP_UINT,
|
133
|
+
/* 0x5c */ MP_UINT,
|
134
|
+
/* 0x5d */ MP_UINT,
|
135
|
+
/* 0x5e */ MP_UINT,
|
136
|
+
/* 0x5f */ MP_UINT,
|
137
|
+
/* 0x60 */ MP_UINT,
|
138
|
+
/* 0x61 */ MP_UINT,
|
139
|
+
/* 0x62 */ MP_UINT,
|
140
|
+
/* 0x63 */ MP_UINT,
|
141
|
+
/* 0x64 */ MP_UINT,
|
142
|
+
/* 0x65 */ MP_UINT,
|
143
|
+
/* 0x66 */ MP_UINT,
|
144
|
+
/* 0x67 */ MP_UINT,
|
145
|
+
/* 0x68 */ MP_UINT,
|
146
|
+
/* 0x69 */ MP_UINT,
|
147
|
+
/* 0x6a */ MP_UINT,
|
148
|
+
/* 0x6b */ MP_UINT,
|
149
|
+
/* 0x6c */ MP_UINT,
|
150
|
+
/* 0x6d */ MP_UINT,
|
151
|
+
/* 0x6e */ MP_UINT,
|
152
|
+
/* 0x6f */ MP_UINT,
|
153
|
+
/* 0x70 */ MP_UINT,
|
154
|
+
/* 0x71 */ MP_UINT,
|
155
|
+
/* 0x72 */ MP_UINT,
|
156
|
+
/* 0x73 */ MP_UINT,
|
157
|
+
/* 0x74 */ MP_UINT,
|
158
|
+
/* 0x75 */ MP_UINT,
|
159
|
+
/* 0x76 */ MP_UINT,
|
160
|
+
/* 0x77 */ MP_UINT,
|
161
|
+
/* 0x78 */ MP_UINT,
|
162
|
+
/* 0x79 */ MP_UINT,
|
163
|
+
/* 0x7a */ MP_UINT,
|
164
|
+
/* 0x7b */ MP_UINT,
|
165
|
+
/* 0x7c */ MP_UINT,
|
166
|
+
/* 0x7d */ MP_UINT,
|
167
|
+
/* 0x7e */ MP_UINT,
|
168
|
+
/* 0x7f */ MP_UINT,
|
169
|
+
/* }}} */
|
170
|
+
|
171
|
+
/* {{{ MP_MAP (fixed) */
|
172
|
+
/* 0x80 */ MP_MAP,
|
173
|
+
/* 0x81 */ MP_MAP,
|
174
|
+
/* 0x82 */ MP_MAP,
|
175
|
+
/* 0x83 */ MP_MAP,
|
176
|
+
/* 0x84 */ MP_MAP,
|
177
|
+
/* 0x85 */ MP_MAP,
|
178
|
+
/* 0x86 */ MP_MAP,
|
179
|
+
/* 0x87 */ MP_MAP,
|
180
|
+
/* 0x88 */ MP_MAP,
|
181
|
+
/* 0x89 */ MP_MAP,
|
182
|
+
/* 0x8a */ MP_MAP,
|
183
|
+
/* 0x8b */ MP_MAP,
|
184
|
+
/* 0x8c */ MP_MAP,
|
185
|
+
/* 0x8d */ MP_MAP,
|
186
|
+
/* 0x8e */ MP_MAP,
|
187
|
+
/* 0x8f */ MP_MAP,
|
188
|
+
/* }}} */
|
189
|
+
|
190
|
+
/* {{{ MP_ARRAY (fixed) */
|
191
|
+
/* 0x90 */ MP_ARRAY,
|
192
|
+
/* 0x91 */ MP_ARRAY,
|
193
|
+
/* 0x92 */ MP_ARRAY,
|
194
|
+
/* 0x93 */ MP_ARRAY,
|
195
|
+
/* 0x94 */ MP_ARRAY,
|
196
|
+
/* 0x95 */ MP_ARRAY,
|
197
|
+
/* 0x96 */ MP_ARRAY,
|
198
|
+
/* 0x97 */ MP_ARRAY,
|
199
|
+
/* 0x98 */ MP_ARRAY,
|
200
|
+
/* 0x99 */ MP_ARRAY,
|
201
|
+
/* 0x9a */ MP_ARRAY,
|
202
|
+
/* 0x9b */ MP_ARRAY,
|
203
|
+
/* 0x9c */ MP_ARRAY,
|
204
|
+
/* 0x9d */ MP_ARRAY,
|
205
|
+
/* 0x9e */ MP_ARRAY,
|
206
|
+
/* 0x9f */ MP_ARRAY,
|
207
|
+
/* }}} */
|
208
|
+
|
209
|
+
/* {{{ MP_STR (fixed) */
|
210
|
+
/* 0xa0 */ MP_STR,
|
211
|
+
/* 0xa1 */ MP_STR,
|
212
|
+
/* 0xa2 */ MP_STR,
|
213
|
+
/* 0xa3 */ MP_STR,
|
214
|
+
/* 0xa4 */ MP_STR,
|
215
|
+
/* 0xa5 */ MP_STR,
|
216
|
+
/* 0xa6 */ MP_STR,
|
217
|
+
/* 0xa7 */ MP_STR,
|
218
|
+
/* 0xa8 */ MP_STR,
|
219
|
+
/* 0xa9 */ MP_STR,
|
220
|
+
/* 0xaa */ MP_STR,
|
221
|
+
/* 0xab */ MP_STR,
|
222
|
+
/* 0xac */ MP_STR,
|
223
|
+
/* 0xad */ MP_STR,
|
224
|
+
/* 0xae */ MP_STR,
|
225
|
+
/* 0xaf */ MP_STR,
|
226
|
+
/* 0xb0 */ MP_STR,
|
227
|
+
/* 0xb1 */ MP_STR,
|
228
|
+
/* 0xb2 */ MP_STR,
|
229
|
+
/* 0xb3 */ MP_STR,
|
230
|
+
/* 0xb4 */ MP_STR,
|
231
|
+
/* 0xb5 */ MP_STR,
|
232
|
+
/* 0xb6 */ MP_STR,
|
233
|
+
/* 0xb7 */ MP_STR,
|
234
|
+
/* 0xb8 */ MP_STR,
|
235
|
+
/* 0xb9 */ MP_STR,
|
236
|
+
/* 0xba */ MP_STR,
|
237
|
+
/* 0xbb */ MP_STR,
|
238
|
+
/* 0xbc */ MP_STR,
|
239
|
+
/* 0xbd */ MP_STR,
|
240
|
+
/* 0xbe */ MP_STR,
|
241
|
+
/* 0xbf */ MP_STR,
|
242
|
+
/* }}} */
|
243
|
+
|
244
|
+
/* {{{ MP_NIL, MP_BOOL */
|
245
|
+
/* 0xc0 */ MP_NIL,
|
246
|
+
/* 0xc1 */ MP_EXT, /* never used */
|
247
|
+
/* 0xc2 */ MP_BOOL,
|
248
|
+
/* 0xc3 */ MP_BOOL,
|
249
|
+
/* }}} */
|
250
|
+
|
251
|
+
/* {{{ MP_BIN */
|
252
|
+
/* 0xc4 */ MP_BIN, /* MP_BIN(8) */
|
253
|
+
/* 0xc5 */ MP_BIN, /* MP_BIN(16) */
|
254
|
+
/* 0xc6 */ MP_BIN, /* MP_BIN(32) */
|
255
|
+
/* }}} */
|
256
|
+
|
257
|
+
/* {{{ MP_EXT */
|
258
|
+
/* 0xc7 */ MP_EXT,
|
259
|
+
/* 0xc8 */ MP_EXT,
|
260
|
+
/* 0xc9 */ MP_EXT,
|
261
|
+
/* }}} */
|
262
|
+
|
263
|
+
/* {{{ MP_FLOAT, MP_DOUBLE */
|
264
|
+
/* 0xca */ MP_FLOAT,
|
265
|
+
/* 0xcb */ MP_DOUBLE,
|
266
|
+
/* }}} */
|
267
|
+
|
268
|
+
/* {{{ MP_UINT */
|
269
|
+
/* 0xcc */ MP_UINT,
|
270
|
+
/* 0xcd */ MP_UINT,
|
271
|
+
/* 0xce */ MP_UINT,
|
272
|
+
/* 0xcf */ MP_UINT,
|
273
|
+
/* }}} */
|
274
|
+
|
275
|
+
/* {{{ MP_INT */
|
276
|
+
/* 0xd0 */ MP_INT, /* MP_INT (8) */
|
277
|
+
/* 0xd1 */ MP_INT, /* MP_INT (16) */
|
278
|
+
/* 0xd2 */ MP_INT, /* MP_INT (32) */
|
279
|
+
/* 0xd3 */ MP_INT, /* MP_INT (64) */
|
280
|
+
/* }}} */
|
281
|
+
|
282
|
+
/* {{{ MP_EXT */
|
283
|
+
/* 0xd4 */ MP_EXT, /* MP_INT (8) */
|
284
|
+
/* 0xd5 */ MP_EXT, /* MP_INT (16) */
|
285
|
+
/* 0xd6 */ MP_EXT, /* MP_INT (32) */
|
286
|
+
/* 0xd7 */ MP_EXT, /* MP_INT (64) */
|
287
|
+
/* 0xd8 */ MP_EXT, /* MP_INT (127) */
|
288
|
+
/* }}} */
|
289
|
+
|
290
|
+
/* {{{ MP_STR */
|
291
|
+
/* 0xd9 */ MP_STR, /* MP_STR(8) */
|
292
|
+
/* 0xda */ MP_STR, /* MP_STR(16) */
|
293
|
+
/* 0xdb */ MP_STR, /* MP_STR(32) */
|
294
|
+
/* }}} */
|
295
|
+
|
296
|
+
/* {{{ MP_ARRAY */
|
297
|
+
/* 0xdc */ MP_ARRAY, /* MP_ARRAY(16) */
|
298
|
+
/* 0xdd */ MP_ARRAY, /* MP_ARRAY(32) */
|
299
|
+
/* }}} */
|
300
|
+
|
301
|
+
/* {{{ MP_MAP */
|
302
|
+
/* 0xde */ MP_MAP, /* MP_MAP (16) */
|
303
|
+
/* 0xdf */ MP_MAP, /* MP_MAP (32) */
|
304
|
+
/* }}} */
|
305
|
+
|
306
|
+
/* {{{ MP_INT */
|
307
|
+
/* 0xe0 */ MP_INT,
|
308
|
+
/* 0xe1 */ MP_INT,
|
309
|
+
/* 0xe2 */ MP_INT,
|
310
|
+
/* 0xe3 */ MP_INT,
|
311
|
+
/* 0xe4 */ MP_INT,
|
312
|
+
/* 0xe5 */ MP_INT,
|
313
|
+
/* 0xe6 */ MP_INT,
|
314
|
+
/* 0xe7 */ MP_INT,
|
315
|
+
/* 0xe8 */ MP_INT,
|
316
|
+
/* 0xe9 */ MP_INT,
|
317
|
+
/* 0xea */ MP_INT,
|
318
|
+
/* 0xeb */ MP_INT,
|
319
|
+
/* 0xec */ MP_INT,
|
320
|
+
/* 0xed */ MP_INT,
|
321
|
+
/* 0xee */ MP_INT,
|
322
|
+
/* 0xef */ MP_INT,
|
323
|
+
/* 0xf0 */ MP_INT,
|
324
|
+
/* 0xf1 */ MP_INT,
|
325
|
+
/* 0xf2 */ MP_INT,
|
326
|
+
/* 0xf3 */ MP_INT,
|
327
|
+
/* 0xf4 */ MP_INT,
|
328
|
+
/* 0xf5 */ MP_INT,
|
329
|
+
/* 0xf6 */ MP_INT,
|
330
|
+
/* 0xf7 */ MP_INT,
|
331
|
+
/* 0xf8 */ MP_INT,
|
332
|
+
/* 0xf9 */ MP_INT,
|
333
|
+
/* 0xfa */ MP_INT,
|
334
|
+
/* 0xfb */ MP_INT,
|
335
|
+
/* 0xfc */ MP_INT,
|
336
|
+
/* 0xfd */ MP_INT,
|
337
|
+
/* 0xfe */ MP_INT,
|
338
|
+
/* 0xff */ MP_INT
|
339
|
+
/* }}} */
|
340
|
+
};
|
341
|
+
|
342
|
+
/**
|
343
|
+
* This lookup table used by mp_next() and mp_check() to determine
|
344
|
+
* size of MsgPack element by its first byte.
|
345
|
+
* A positive value contains size of the element (excluding the first byte).
|
346
|
+
* A negative value means the element is compound (e.g. array or map)
|
347
|
+
* of size (-n).
|
348
|
+
* MP_HINT_* values used for special cases handled by switch() statement.
|
349
|
+
*/
|
350
|
+
const int8_t mp_parser_hint[256] = {
|
351
|
+
/* {{{ MP_UINT(fixed) **/
|
352
|
+
/* 0x00 */ 0,
|
353
|
+
/* 0x01 */ 0,
|
354
|
+
/* 0x02 */ 0,
|
355
|
+
/* 0x03 */ 0,
|
356
|
+
/* 0x04 */ 0,
|
357
|
+
/* 0x05 */ 0,
|
358
|
+
/* 0x06 */ 0,
|
359
|
+
/* 0x07 */ 0,
|
360
|
+
/* 0x08 */ 0,
|
361
|
+
/* 0x09 */ 0,
|
362
|
+
/* 0x0a */ 0,
|
363
|
+
/* 0x0b */ 0,
|
364
|
+
/* 0x0c */ 0,
|
365
|
+
/* 0x0d */ 0,
|
366
|
+
/* 0x0e */ 0,
|
367
|
+
/* 0x0f */ 0,
|
368
|
+
/* 0x10 */ 0,
|
369
|
+
/* 0x11 */ 0,
|
370
|
+
/* 0x12 */ 0,
|
371
|
+
/* 0x13 */ 0,
|
372
|
+
/* 0x14 */ 0,
|
373
|
+
/* 0x15 */ 0,
|
374
|
+
/* 0x16 */ 0,
|
375
|
+
/* 0x17 */ 0,
|
376
|
+
/* 0x18 */ 0,
|
377
|
+
/* 0x19 */ 0,
|
378
|
+
/* 0x1a */ 0,
|
379
|
+
/* 0x1b */ 0,
|
380
|
+
/* 0x1c */ 0,
|
381
|
+
/* 0x1d */ 0,
|
382
|
+
/* 0x1e */ 0,
|
383
|
+
/* 0x1f */ 0,
|
384
|
+
/* 0x20 */ 0,
|
385
|
+
/* 0x21 */ 0,
|
386
|
+
/* 0x22 */ 0,
|
387
|
+
/* 0x23 */ 0,
|
388
|
+
/* 0x24 */ 0,
|
389
|
+
/* 0x25 */ 0,
|
390
|
+
/* 0x26 */ 0,
|
391
|
+
/* 0x27 */ 0,
|
392
|
+
/* 0x28 */ 0,
|
393
|
+
/* 0x29 */ 0,
|
394
|
+
/* 0x2a */ 0,
|
395
|
+
/* 0x2b */ 0,
|
396
|
+
/* 0x2c */ 0,
|
397
|
+
/* 0x2d */ 0,
|
398
|
+
/* 0x2e */ 0,
|
399
|
+
/* 0x2f */ 0,
|
400
|
+
/* 0x30 */ 0,
|
401
|
+
/* 0x31 */ 0,
|
402
|
+
/* 0x32 */ 0,
|
403
|
+
/* 0x33 */ 0,
|
404
|
+
/* 0x34 */ 0,
|
405
|
+
/* 0x35 */ 0,
|
406
|
+
/* 0x36 */ 0,
|
407
|
+
/* 0x37 */ 0,
|
408
|
+
/* 0x38 */ 0,
|
409
|
+
/* 0x39 */ 0,
|
410
|
+
/* 0x3a */ 0,
|
411
|
+
/* 0x3b */ 0,
|
412
|
+
/* 0x3c */ 0,
|
413
|
+
/* 0x3d */ 0,
|
414
|
+
/* 0x3e */ 0,
|
415
|
+
/* 0x3f */ 0,
|
416
|
+
/* 0x40 */ 0,
|
417
|
+
/* 0x41 */ 0,
|
418
|
+
/* 0x42 */ 0,
|
419
|
+
/* 0x43 */ 0,
|
420
|
+
/* 0x44 */ 0,
|
421
|
+
/* 0x45 */ 0,
|
422
|
+
/* 0x46 */ 0,
|
423
|
+
/* 0x47 */ 0,
|
424
|
+
/* 0x48 */ 0,
|
425
|
+
/* 0x49 */ 0,
|
426
|
+
/* 0x4a */ 0,
|
427
|
+
/* 0x4b */ 0,
|
428
|
+
/* 0x4c */ 0,
|
429
|
+
/* 0x4d */ 0,
|
430
|
+
/* 0x4e */ 0,
|
431
|
+
/* 0x4f */ 0,
|
432
|
+
/* 0x50 */ 0,
|
433
|
+
/* 0x51 */ 0,
|
434
|
+
/* 0x52 */ 0,
|
435
|
+
/* 0x53 */ 0,
|
436
|
+
/* 0x54 */ 0,
|
437
|
+
/* 0x55 */ 0,
|
438
|
+
/* 0x56 */ 0,
|
439
|
+
/* 0x57 */ 0,
|
440
|
+
/* 0x58 */ 0,
|
441
|
+
/* 0x59 */ 0,
|
442
|
+
/* 0x5a */ 0,
|
443
|
+
/* 0x5b */ 0,
|
444
|
+
/* 0x5c */ 0,
|
445
|
+
/* 0x5d */ 0,
|
446
|
+
/* 0x5e */ 0,
|
447
|
+
/* 0x5f */ 0,
|
448
|
+
/* 0x60 */ 0,
|
449
|
+
/* 0x61 */ 0,
|
450
|
+
/* 0x62 */ 0,
|
451
|
+
/* 0x63 */ 0,
|
452
|
+
/* 0x64 */ 0,
|
453
|
+
/* 0x65 */ 0,
|
454
|
+
/* 0x66 */ 0,
|
455
|
+
/* 0x67 */ 0,
|
456
|
+
/* 0x68 */ 0,
|
457
|
+
/* 0x69 */ 0,
|
458
|
+
/* 0x6a */ 0,
|
459
|
+
/* 0x6b */ 0,
|
460
|
+
/* 0x6c */ 0,
|
461
|
+
/* 0x6d */ 0,
|
462
|
+
/* 0x6e */ 0,
|
463
|
+
/* 0x6f */ 0,
|
464
|
+
/* 0x70 */ 0,
|
465
|
+
/* 0x71 */ 0,
|
466
|
+
/* 0x72 */ 0,
|
467
|
+
/* 0x73 */ 0,
|
468
|
+
/* 0x74 */ 0,
|
469
|
+
/* 0x75 */ 0,
|
470
|
+
/* 0x76 */ 0,
|
471
|
+
/* 0x77 */ 0,
|
472
|
+
/* 0x78 */ 0,
|
473
|
+
/* 0x79 */ 0,
|
474
|
+
/* 0x7a */ 0,
|
475
|
+
/* 0x7b */ 0,
|
476
|
+
/* 0x7c */ 0,
|
477
|
+
/* 0x7d */ 0,
|
478
|
+
/* 0x7e */ 0,
|
479
|
+
/* 0x7f */ 0,
|
480
|
+
/* }}} */
|
481
|
+
|
482
|
+
/* {{{ MP_MAP (fixed) */
|
483
|
+
/* 0x80 */ 0, /* empty map - just skip one byte */
|
484
|
+
/* 0x81 */ -2, /* 2 elements follow */
|
485
|
+
/* 0x82 */ -4,
|
486
|
+
/* 0x83 */ -6,
|
487
|
+
/* 0x84 */ -8,
|
488
|
+
/* 0x85 */ -10,
|
489
|
+
/* 0x86 */ -12,
|
490
|
+
/* 0x87 */ -14,
|
491
|
+
/* 0x88 */ -16,
|
492
|
+
/* 0x89 */ -18,
|
493
|
+
/* 0x8a */ -20,
|
494
|
+
/* 0x8b */ -22,
|
495
|
+
/* 0x8c */ -24,
|
496
|
+
/* 0x8d */ -26,
|
497
|
+
/* 0x8e */ -28,
|
498
|
+
/* 0x8f */ -30,
|
499
|
+
/* }}} */
|
500
|
+
|
501
|
+
/* {{{ MP_ARRAY (fixed) */
|
502
|
+
/* 0x90 */ 0, /* empty array - just skip one byte */
|
503
|
+
/* 0x91 */ -1, /* 1 element follows */
|
504
|
+
/* 0x92 */ -2,
|
505
|
+
/* 0x93 */ -3,
|
506
|
+
/* 0x94 */ -4,
|
507
|
+
/* 0x95 */ -5,
|
508
|
+
/* 0x96 */ -6,
|
509
|
+
/* 0x97 */ -7,
|
510
|
+
/* 0x98 */ -8,
|
511
|
+
/* 0x99 */ -9,
|
512
|
+
/* 0x9a */ -10,
|
513
|
+
/* 0x9b */ -11,
|
514
|
+
/* 0x9c */ -12,
|
515
|
+
/* 0x9d */ -13,
|
516
|
+
/* 0x9e */ -14,
|
517
|
+
/* 0x9f */ -15,
|
518
|
+
/* }}} */
|
519
|
+
|
520
|
+
/* {{{ MP_STR (fixed) */
|
521
|
+
/* 0xa0 */ 0,
|
522
|
+
/* 0xa1 */ 1,
|
523
|
+
/* 0xa2 */ 2,
|
524
|
+
/* 0xa3 */ 3,
|
525
|
+
/* 0xa4 */ 4,
|
526
|
+
/* 0xa5 */ 5,
|
527
|
+
/* 0xa6 */ 6,
|
528
|
+
/* 0xa7 */ 7,
|
529
|
+
/* 0xa8 */ 8,
|
530
|
+
/* 0xa9 */ 9,
|
531
|
+
/* 0xaa */ 10,
|
532
|
+
/* 0xab */ 11,
|
533
|
+
/* 0xac */ 12,
|
534
|
+
/* 0xad */ 13,
|
535
|
+
/* 0xae */ 14,
|
536
|
+
/* 0xaf */ 15,
|
537
|
+
/* 0xb0 */ 16,
|
538
|
+
/* 0xb1 */ 17,
|
539
|
+
/* 0xb2 */ 18,
|
540
|
+
/* 0xb3 */ 19,
|
541
|
+
/* 0xb4 */ 20,
|
542
|
+
/* 0xb5 */ 21,
|
543
|
+
/* 0xb6 */ 22,
|
544
|
+
/* 0xb7 */ 23,
|
545
|
+
/* 0xb8 */ 24,
|
546
|
+
/* 0xb9 */ 25,
|
547
|
+
/* 0xba */ 26,
|
548
|
+
/* 0xbb */ 27,
|
549
|
+
/* 0xbc */ 28,
|
550
|
+
/* 0xbd */ 29,
|
551
|
+
/* 0xbe */ 30,
|
552
|
+
/* 0xbf */ 31,
|
553
|
+
/* }}} */
|
554
|
+
|
555
|
+
/* {{{ MP_NIL, MP_BOOL */
|
556
|
+
/* 0xc0 */ 0, /* MP_NIL */
|
557
|
+
/* 0xc1 */ 0, /* never used */
|
558
|
+
/* 0xc2 */ 0, /* MP_BOOL*/
|
559
|
+
/* 0xc3 */ 0, /* MP_BOOL*/
|
560
|
+
/* }}} */
|
561
|
+
|
562
|
+
/* {{{ MP_BIN */
|
563
|
+
/* 0xc4 */ MP_HINT_STR_8, /* MP_BIN (8) */
|
564
|
+
/* 0xc5 */ MP_HINT_STR_16, /* MP_BIN (16) */
|
565
|
+
/* 0xc6 */ MP_HINT_STR_32, /* MP_BIN (32) */
|
566
|
+
/* }}} */
|
567
|
+
|
568
|
+
/* {{{ MP_EXT */
|
569
|
+
/* 0xc7 */ MP_HINT_EXT_8, /* MP_EXT (8) */
|
570
|
+
/* 0xc8 */ MP_HINT_EXT_16, /* MP_EXT (16) */
|
571
|
+
/* 0xc9 */ MP_HINT_EXT_32, /* MP_EXT (32) */
|
572
|
+
/* }}} */
|
573
|
+
|
574
|
+
/* {{{ MP_FLOAT, MP_DOUBLE */
|
575
|
+
/* 0xca */ sizeof(float), /* MP_FLOAT */
|
576
|
+
/* 0xcb */ sizeof(double), /* MP_DOUBLE */
|
577
|
+
/* }}} */
|
578
|
+
|
579
|
+
/* {{{ MP_UINT */
|
580
|
+
/* 0xcc */ sizeof(uint8_t), /* MP_UINT (8) */
|
581
|
+
/* 0xcd */ sizeof(uint16_t), /* MP_UINT (16) */
|
582
|
+
/* 0xce */ sizeof(uint32_t), /* MP_UINT (32) */
|
583
|
+
/* 0xcf */ sizeof(uint64_t), /* MP_UINT (64) */
|
584
|
+
/* }}} */
|
585
|
+
|
586
|
+
/* {{{ MP_INT */
|
587
|
+
/* 0xd0 */ sizeof(uint8_t), /* MP_INT (8) */
|
588
|
+
/* 0xd1 */ sizeof(uint16_t), /* MP_INT (8) */
|
589
|
+
/* 0xd2 */ sizeof(uint32_t), /* MP_INT (8) */
|
590
|
+
/* 0xd3 */ sizeof(uint64_t), /* MP_INT (8) */
|
591
|
+
/* }}} */
|
592
|
+
|
593
|
+
/* {{{ MP_EXT (fixext) */
|
594
|
+
/* 0xd4 */ 2, /* MP_EXT (fixext 8) */
|
595
|
+
/* 0xd5 */ 3, /* MP_EXT (fixext 16) */
|
596
|
+
/* 0xd6 */ 5, /* MP_EXT (fixext 32) */
|
597
|
+
/* 0xd7 */ 9, /* MP_EXT (fixext 64) */
|
598
|
+
/* 0xd8 */ 17, /* MP_EXT (fixext 128) */
|
599
|
+
/* }}} */
|
600
|
+
|
601
|
+
/* {{{ MP_STR */
|
602
|
+
/* 0xd9 */ MP_HINT_STR_8, /* MP_STR (8) */
|
603
|
+
/* 0xda */ MP_HINT_STR_16, /* MP_STR (16) */
|
604
|
+
/* 0xdb */ MP_HINT_STR_32, /* MP_STR (32) */
|
605
|
+
/* }}} */
|
606
|
+
|
607
|
+
/* {{{ MP_ARRAY */
|
608
|
+
/* 0xdc */ MP_HINT_ARRAY_16, /* MP_ARRAY (16) */
|
609
|
+
/* 0xdd */ MP_HINT_ARRAY_32, /* MP_ARRAY (32) */
|
610
|
+
/* }}} */
|
611
|
+
|
612
|
+
/* {{{ MP_MAP */
|
613
|
+
/* 0xde */ MP_HINT_MAP_16, /* MP_MAP (16) */
|
614
|
+
/* 0xdf */ MP_HINT_MAP_32, /* MP_MAP (32) */
|
615
|
+
/* }}} */
|
616
|
+
|
617
|
+
/* {{{ MP_INT (fixed) */
|
618
|
+
/* 0xe0 */ 0,
|
619
|
+
/* 0xe1 */ 0,
|
620
|
+
/* 0xe2 */ 0,
|
621
|
+
/* 0xe3 */ 0,
|
622
|
+
/* 0xe4 */ 0,
|
623
|
+
/* 0xe5 */ 0,
|
624
|
+
/* 0xe6 */ 0,
|
625
|
+
/* 0xe7 */ 0,
|
626
|
+
/* 0xe8 */ 0,
|
627
|
+
/* 0xe9 */ 0,
|
628
|
+
/* 0xea */ 0,
|
629
|
+
/* 0xeb */ 0,
|
630
|
+
/* 0xec */ 0,
|
631
|
+
/* 0xed */ 0,
|
632
|
+
/* 0xee */ 0,
|
633
|
+
/* 0xef */ 0,
|
634
|
+
/* 0xf0 */ 0,
|
635
|
+
/* 0xf1 */ 0,
|
636
|
+
/* 0xf2 */ 0,
|
637
|
+
/* 0xf3 */ 0,
|
638
|
+
/* 0xf4 */ 0,
|
639
|
+
/* 0xf5 */ 0,
|
640
|
+
/* 0xf6 */ 0,
|
641
|
+
/* 0xf7 */ 0,
|
642
|
+
/* 0xf8 */ 0,
|
643
|
+
/* 0xf9 */ 0,
|
644
|
+
/* 0xfa */ 0,
|
645
|
+
/* 0xfb */ 0,
|
646
|
+
/* 0xfc */ 0,
|
647
|
+
/* 0xfd */ 0,
|
648
|
+
/* 0xfe */ 0,
|
649
|
+
/* 0xff */ 0
|
650
|
+
/* }}} */
|
651
|
+
};
|
652
|
+
|
653
|
+
const char *mp_char2escape[128] = {
|
654
|
+
"\\u0000", "\\u0001", "\\u0002", "\\u0003",
|
655
|
+
"\\u0004", "\\u0005", "\\u0006", "\\u0007",
|
656
|
+
"\\b", "\\t", "\\n", "\\u000b",
|
657
|
+
"\\f", "\\r", "\\u000e", "\\u000f",
|
658
|
+
"\\u0010", "\\u0011", "\\u0012", "\\u0013",
|
659
|
+
"\\u0014", "\\u0015", "\\u0016", "\\u0017",
|
660
|
+
"\\u0018", "\\u0019", "\\u001a", "\\u001b",
|
661
|
+
"\\u001c", "\\u001d", "\\u001e", "\\u001f",
|
662
|
+
NULL, NULL, "\\\"", NULL, NULL, NULL, NULL, NULL,
|
663
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\\/",
|
664
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
665
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
666
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
667
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
668
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
669
|
+
NULL, NULL, NULL, NULL, "\\\\", NULL, NULL, NULL,
|
670
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
671
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
672
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
673
|
+
NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\\u007f"
|
674
|
+
};
|