msgpack 0.4.7-x86-mingw32 → 0.5.0-x86-mingw32
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.
- data/.gitignore +17 -0
- data/ChangeLog +47 -0
- data/README.rdoc +102 -0
- data/Rakefile +88 -0
- data/doclib/msgpack.rb +55 -0
- data/doclib/msgpack/buffer.rb +193 -0
- data/doclib/msgpack/core_ext.rb +101 -0
- data/doclib/msgpack/error.rb +14 -0
- data/doclib/msgpack/packer.rb +131 -0
- data/doclib/msgpack/unpacker.rb +130 -0
- data/ext/msgpack/buffer.c +679 -0
- data/ext/msgpack/buffer.h +442 -0
- data/ext/msgpack/buffer_class.c +507 -0
- data/ext/msgpack/buffer_class.h +32 -0
- data/ext/msgpack/compat.h +112 -0
- data/ext/msgpack/core_ext.c +129 -0
- data/ext/{pack.h → msgpack/core_ext.h} +7 -7
- data/ext/msgpack/extconf.rb +17 -0
- data/ext/msgpack/packer.c +137 -0
- data/ext/msgpack/packer.h +319 -0
- data/ext/msgpack/packer_class.c +285 -0
- data/ext/{unpack.h → msgpack/packer_class.h} +11 -7
- data/ext/msgpack/rbinit.c +33 -0
- data/ext/msgpack/rmem.c +110 -0
- data/ext/msgpack/rmem.h +100 -0
- data/ext/msgpack/sysdep.h +115 -0
- data/ext/msgpack/sysdep_endian.h +50 -0
- data/ext/msgpack/sysdep_types.h +46 -0
- data/ext/msgpack/unpacker.c +669 -0
- data/ext/msgpack/unpacker.h +112 -0
- data/ext/msgpack/unpacker_class.c +376 -0
- data/{msgpack/pack_define.h → ext/msgpack/unpacker_class.h} +12 -8
- data/lib/msgpack.rb +10 -1
- data/{ext → lib/msgpack}/version.rb +1 -1
- data/msgpack.gemspec +25 -0
- data/spec/buffer_io_spec.rb +237 -0
- data/spec/buffer_spec.rb +572 -0
- data/{test → spec}/cases.json +0 -0
- data/{test/cases.mpac → spec/cases.msg} +0 -0
- data/{test/cases_compact.mpac → spec/cases_compact.msg} +0 -0
- data/spec/cases_spec.rb +39 -0
- data/spec/format_spec.rb +225 -0
- data/spec/packer_spec.rb +127 -0
- data/spec/random_compat.rb +24 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/unpacker_spec.rb +128 -0
- metadata +157 -39
- data/ext/compat.h +0 -99
- data/ext/extconf.rb +0 -7
- data/ext/pack.c +0 -314
- data/ext/rbinit.c +0 -66
- data/ext/unpack.c +0 -1001
- data/lib/1.8/msgpack.so +0 -0
- data/lib/1.9/msgpack.so +0 -0
- data/msgpack/pack_template.h +0 -771
- data/msgpack/sysdep.h +0 -195
- data/msgpack/unpack_define.h +0 -93
- data/msgpack/unpack_template.h +0 -413
- data/test/test_cases.rb +0 -46
- data/test/test_encoding.rb +0 -68
- data/test/test_helper.rb +0 -10
- data/test/test_pack_unpack.rb +0 -308
data/lib/1.8/msgpack.so
DELETED
Binary file
|
data/lib/1.9/msgpack.so
DELETED
Binary file
|
data/msgpack/pack_template.h
DELETED
@@ -1,771 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* MessagePack packing routine template
|
3
|
-
*
|
4
|
-
* Copyright (C) 2008-2010 FURUHASHI Sadayuki
|
5
|
-
*
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
-
* you may not use this file except in compliance with the License.
|
8
|
-
* You may obtain a copy of the License at
|
9
|
-
*
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
*
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
* See the License for the specific language governing permissions and
|
16
|
-
* limitations under the License.
|
17
|
-
*/
|
18
|
-
|
19
|
-
#if defined(__LITTLE_ENDIAN__)
|
20
|
-
#define TAKE8_8(d) ((uint8_t*)&d)[0]
|
21
|
-
#define TAKE8_16(d) ((uint8_t*)&d)[0]
|
22
|
-
#define TAKE8_32(d) ((uint8_t*)&d)[0]
|
23
|
-
#define TAKE8_64(d) ((uint8_t*)&d)[0]
|
24
|
-
#elif defined(__BIG_ENDIAN__)
|
25
|
-
#define TAKE8_8(d) ((uint8_t*)&d)[0]
|
26
|
-
#define TAKE8_16(d) ((uint8_t*)&d)[1]
|
27
|
-
#define TAKE8_32(d) ((uint8_t*)&d)[3]
|
28
|
-
#define TAKE8_64(d) ((uint8_t*)&d)[7]
|
29
|
-
#endif
|
30
|
-
|
31
|
-
#ifndef msgpack_pack_inline_func
|
32
|
-
#error msgpack_pack_inline_func template is not defined
|
33
|
-
#endif
|
34
|
-
|
35
|
-
#ifndef msgpack_pack_user
|
36
|
-
#error msgpack_pack_user type is not defined
|
37
|
-
#endif
|
38
|
-
|
39
|
-
#ifndef msgpack_pack_append_buffer
|
40
|
-
#error msgpack_pack_append_buffer callback is not defined
|
41
|
-
#endif
|
42
|
-
|
43
|
-
|
44
|
-
/*
|
45
|
-
* Integer
|
46
|
-
*/
|
47
|
-
|
48
|
-
#define msgpack_pack_real_uint8(x, d) \
|
49
|
-
do { \
|
50
|
-
if(d < (1<<7)) { \
|
51
|
-
/* fixnum */ \
|
52
|
-
msgpack_pack_append_buffer(x, &TAKE8_8(d), 1); \
|
53
|
-
} else { \
|
54
|
-
/* unsigned 8 */ \
|
55
|
-
unsigned char buf[2] = {0xcc, TAKE8_8(d)}; \
|
56
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
57
|
-
} \
|
58
|
-
} while(0)
|
59
|
-
|
60
|
-
#define msgpack_pack_real_uint16(x, d) \
|
61
|
-
do { \
|
62
|
-
if(d < (1<<7)) { \
|
63
|
-
/* fixnum */ \
|
64
|
-
msgpack_pack_append_buffer(x, &TAKE8_16(d), 1); \
|
65
|
-
} else if(d < (1<<8)) { \
|
66
|
-
/* unsigned 8 */ \
|
67
|
-
unsigned char buf[2] = {0xcc, TAKE8_16(d)}; \
|
68
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
69
|
-
} else { \
|
70
|
-
/* unsigned 16 */ \
|
71
|
-
unsigned char buf[3]; \
|
72
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
73
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
74
|
-
} \
|
75
|
-
} while(0)
|
76
|
-
|
77
|
-
#define msgpack_pack_real_uint32(x, d) \
|
78
|
-
do { \
|
79
|
-
if(d < (1<<8)) { \
|
80
|
-
if(d < (1<<7)) { \
|
81
|
-
/* fixnum */ \
|
82
|
-
msgpack_pack_append_buffer(x, &TAKE8_32(d), 1); \
|
83
|
-
} else { \
|
84
|
-
/* unsigned 8 */ \
|
85
|
-
unsigned char buf[2] = {0xcc, TAKE8_32(d)}; \
|
86
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
87
|
-
} \
|
88
|
-
} else { \
|
89
|
-
if(d < (1<<16)) { \
|
90
|
-
/* unsigned 16 */ \
|
91
|
-
unsigned char buf[3]; \
|
92
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
93
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
94
|
-
} else { \
|
95
|
-
/* unsigned 32 */ \
|
96
|
-
unsigned char buf[5]; \
|
97
|
-
buf[0] = 0xce; _msgpack_store32(&buf[1], (uint32_t)d); \
|
98
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
99
|
-
} \
|
100
|
-
} \
|
101
|
-
} while(0)
|
102
|
-
|
103
|
-
#define msgpack_pack_real_uint64(x, d) \
|
104
|
-
do { \
|
105
|
-
if(d < (1ULL<<8)) { \
|
106
|
-
if(d < (1ULL<<7)) { \
|
107
|
-
/* fixnum */ \
|
108
|
-
msgpack_pack_append_buffer(x, &TAKE8_64(d), 1); \
|
109
|
-
} else { \
|
110
|
-
/* unsigned 8 */ \
|
111
|
-
unsigned char buf[2] = {0xcc, TAKE8_64(d)}; \
|
112
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
113
|
-
} \
|
114
|
-
} else { \
|
115
|
-
if(d < (1ULL<<16)) { \
|
116
|
-
/* unsigned 16 */ \
|
117
|
-
unsigned char buf[3]; \
|
118
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
119
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
120
|
-
} else if(d < (1ULL<<32)) { \
|
121
|
-
/* unsigned 32 */ \
|
122
|
-
unsigned char buf[5]; \
|
123
|
-
buf[0] = 0xce; _msgpack_store32(&buf[1], (uint32_t)d); \
|
124
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
125
|
-
} else { \
|
126
|
-
/* unsigned 64 */ \
|
127
|
-
unsigned char buf[9]; \
|
128
|
-
buf[0] = 0xcf; _msgpack_store64(&buf[1], d); \
|
129
|
-
msgpack_pack_append_buffer(x, buf, 9); \
|
130
|
-
} \
|
131
|
-
} \
|
132
|
-
} while(0)
|
133
|
-
|
134
|
-
#define msgpack_pack_real_int8(x, d) \
|
135
|
-
do { \
|
136
|
-
if(d < -(1<<5)) { \
|
137
|
-
/* signed 8 */ \
|
138
|
-
unsigned char buf[2] = {0xd0, TAKE8_8(d)}; \
|
139
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
140
|
-
} else { \
|
141
|
-
/* fixnum */ \
|
142
|
-
msgpack_pack_append_buffer(x, &TAKE8_8(d), 1); \
|
143
|
-
} \
|
144
|
-
} while(0)
|
145
|
-
|
146
|
-
#define msgpack_pack_real_int16(x, d) \
|
147
|
-
do { \
|
148
|
-
if(d < -(1<<5)) { \
|
149
|
-
if(d < -(1<<7)) { \
|
150
|
-
/* signed 16 */ \
|
151
|
-
unsigned char buf[3]; \
|
152
|
-
buf[0] = 0xd1; _msgpack_store16(&buf[1], (int16_t)d); \
|
153
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
154
|
-
} else { \
|
155
|
-
/* signed 8 */ \
|
156
|
-
unsigned char buf[2] = {0xd0, TAKE8_16(d)}; \
|
157
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
158
|
-
} \
|
159
|
-
} else if(d < (1<<7)) { \
|
160
|
-
/* fixnum */ \
|
161
|
-
msgpack_pack_append_buffer(x, &TAKE8_16(d), 1); \
|
162
|
-
} else { \
|
163
|
-
if(d < (1<<8)) { \
|
164
|
-
/* unsigned 8 */ \
|
165
|
-
unsigned char buf[2] = {0xcc, TAKE8_16(d)}; \
|
166
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
167
|
-
} else { \
|
168
|
-
/* unsigned 16 */ \
|
169
|
-
unsigned char buf[3]; \
|
170
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
171
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
172
|
-
} \
|
173
|
-
} \
|
174
|
-
} while(0)
|
175
|
-
|
176
|
-
#define msgpack_pack_real_int32(x, d) \
|
177
|
-
do { \
|
178
|
-
if(d < -(1<<5)) { \
|
179
|
-
if(d < -(1<<15)) { \
|
180
|
-
/* signed 32 */ \
|
181
|
-
unsigned char buf[5]; \
|
182
|
-
buf[0] = 0xd2; _msgpack_store32(&buf[1], (int32_t)d); \
|
183
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
184
|
-
} else if(d < -(1<<7)) { \
|
185
|
-
/* signed 16 */ \
|
186
|
-
unsigned char buf[3]; \
|
187
|
-
buf[0] = 0xd1; _msgpack_store16(&buf[1], (int16_t)d); \
|
188
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
189
|
-
} else { \
|
190
|
-
/* signed 8 */ \
|
191
|
-
unsigned char buf[2] = {0xd0, TAKE8_32(d)}; \
|
192
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
193
|
-
} \
|
194
|
-
} else if(d < (1<<7)) { \
|
195
|
-
/* fixnum */ \
|
196
|
-
msgpack_pack_append_buffer(x, &TAKE8_32(d), 1); \
|
197
|
-
} else { \
|
198
|
-
if(d < (1<<8)) { \
|
199
|
-
/* unsigned 8 */ \
|
200
|
-
unsigned char buf[2] = {0xcc, TAKE8_32(d)}; \
|
201
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
202
|
-
} else if(d < (1<<16)) { \
|
203
|
-
/* unsigned 16 */ \
|
204
|
-
unsigned char buf[3]; \
|
205
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
206
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
207
|
-
} else { \
|
208
|
-
/* unsigned 32 */ \
|
209
|
-
unsigned char buf[5]; \
|
210
|
-
buf[0] = 0xce; _msgpack_store32(&buf[1], (uint32_t)d); \
|
211
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
212
|
-
} \
|
213
|
-
} \
|
214
|
-
} while(0)
|
215
|
-
|
216
|
-
#define msgpack_pack_real_int64(x, d) \
|
217
|
-
do { \
|
218
|
-
if(d < -(1LL<<5)) { \
|
219
|
-
if(d < -(1LL<<15)) { \
|
220
|
-
if(d < -(1LL<<31)) { \
|
221
|
-
/* signed 64 */ \
|
222
|
-
unsigned char buf[9]; \
|
223
|
-
buf[0] = 0xd3; _msgpack_store64(&buf[1], d); \
|
224
|
-
msgpack_pack_append_buffer(x, buf, 9); \
|
225
|
-
} else { \
|
226
|
-
/* signed 32 */ \
|
227
|
-
unsigned char buf[5]; \
|
228
|
-
buf[0] = 0xd2; _msgpack_store32(&buf[1], (int32_t)d); \
|
229
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
230
|
-
} \
|
231
|
-
} else { \
|
232
|
-
if(d < -(1<<7)) { \
|
233
|
-
/* signed 16 */ \
|
234
|
-
unsigned char buf[3]; \
|
235
|
-
buf[0] = 0xd1; _msgpack_store16(&buf[1], (int16_t)d); \
|
236
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
237
|
-
} else { \
|
238
|
-
/* signed 8 */ \
|
239
|
-
unsigned char buf[2] = {0xd0, TAKE8_64(d)}; \
|
240
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
241
|
-
} \
|
242
|
-
} \
|
243
|
-
} else if(d < (1<<7)) { \
|
244
|
-
/* fixnum */ \
|
245
|
-
msgpack_pack_append_buffer(x, &TAKE8_64(d), 1); \
|
246
|
-
} else { \
|
247
|
-
if(d < (1LL<<16)) { \
|
248
|
-
if(d < (1<<8)) { \
|
249
|
-
/* unsigned 8 */ \
|
250
|
-
unsigned char buf[2] = {0xcc, TAKE8_64(d)}; \
|
251
|
-
msgpack_pack_append_buffer(x, buf, 2); \
|
252
|
-
} else { \
|
253
|
-
/* unsigned 16 */ \
|
254
|
-
unsigned char buf[3]; \
|
255
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], (uint16_t)d); \
|
256
|
-
msgpack_pack_append_buffer(x, buf, 3); \
|
257
|
-
} \
|
258
|
-
} else { \
|
259
|
-
if(d < (1LL<<32)) { \
|
260
|
-
/* unsigned 32 */ \
|
261
|
-
unsigned char buf[5]; \
|
262
|
-
buf[0] = 0xce; _msgpack_store32(&buf[1], (uint32_t)d); \
|
263
|
-
msgpack_pack_append_buffer(x, buf, 5); \
|
264
|
-
} else { \
|
265
|
-
/* unsigned 64 */ \
|
266
|
-
unsigned char buf[9]; \
|
267
|
-
buf[0] = 0xcf; _msgpack_store64(&buf[1], d); \
|
268
|
-
msgpack_pack_append_buffer(x, buf, 9); \
|
269
|
-
} \
|
270
|
-
} \
|
271
|
-
} \
|
272
|
-
} while(0)
|
273
|
-
|
274
|
-
|
275
|
-
#ifdef msgpack_pack_inline_func_fixint
|
276
|
-
|
277
|
-
msgpack_pack_inline_func_fixint(_uint8)(msgpack_pack_user x, uint8_t d)
|
278
|
-
{
|
279
|
-
unsigned char buf[2] = {0xcc, TAKE8_8(d)};
|
280
|
-
msgpack_pack_append_buffer(x, buf, 2);
|
281
|
-
}
|
282
|
-
|
283
|
-
msgpack_pack_inline_func_fixint(_uint16)(msgpack_pack_user x, uint16_t d)
|
284
|
-
{
|
285
|
-
unsigned char buf[3];
|
286
|
-
buf[0] = 0xcd; _msgpack_store16(&buf[1], d);
|
287
|
-
msgpack_pack_append_buffer(x, buf, 3);
|
288
|
-
}
|
289
|
-
|
290
|
-
msgpack_pack_inline_func_fixint(_uint32)(msgpack_pack_user x, uint32_t d)
|
291
|
-
{
|
292
|
-
unsigned char buf[5];
|
293
|
-
buf[0] = 0xce; _msgpack_store32(&buf[1], d);
|
294
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
295
|
-
}
|
296
|
-
|
297
|
-
msgpack_pack_inline_func_fixint(_uint64)(msgpack_pack_user x, uint64_t d)
|
298
|
-
{
|
299
|
-
unsigned char buf[9];
|
300
|
-
buf[0] = 0xcf; _msgpack_store64(&buf[1], d);
|
301
|
-
msgpack_pack_append_buffer(x, buf, 9);
|
302
|
-
}
|
303
|
-
|
304
|
-
msgpack_pack_inline_func_fixint(_int8)(msgpack_pack_user x, int8_t d)
|
305
|
-
{
|
306
|
-
unsigned char buf[2] = {0xd0, TAKE8_8(d)};
|
307
|
-
msgpack_pack_append_buffer(x, buf, 2);
|
308
|
-
}
|
309
|
-
|
310
|
-
msgpack_pack_inline_func_fixint(_int16)(msgpack_pack_user x, int16_t d)
|
311
|
-
{
|
312
|
-
unsigned char buf[3];
|
313
|
-
buf[0] = 0xd1; _msgpack_store16(&buf[1], d);
|
314
|
-
msgpack_pack_append_buffer(x, buf, 3);
|
315
|
-
}
|
316
|
-
|
317
|
-
msgpack_pack_inline_func_fixint(_int32)(msgpack_pack_user x, int32_t d)
|
318
|
-
{
|
319
|
-
unsigned char buf[5];
|
320
|
-
buf[0] = 0xd2; _msgpack_store32(&buf[1], d);
|
321
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
322
|
-
}
|
323
|
-
|
324
|
-
msgpack_pack_inline_func_fixint(_int64)(msgpack_pack_user x, int64_t d)
|
325
|
-
{
|
326
|
-
unsigned char buf[9];
|
327
|
-
buf[0] = 0xd3; _msgpack_store64(&buf[1], d);
|
328
|
-
msgpack_pack_append_buffer(x, buf, 9);
|
329
|
-
}
|
330
|
-
|
331
|
-
#undef msgpack_pack_inline_func_fixint
|
332
|
-
#endif
|
333
|
-
|
334
|
-
|
335
|
-
msgpack_pack_inline_func(_uint8)(msgpack_pack_user x, uint8_t d)
|
336
|
-
{
|
337
|
-
msgpack_pack_real_uint8(x, d);
|
338
|
-
}
|
339
|
-
|
340
|
-
msgpack_pack_inline_func(_uint16)(msgpack_pack_user x, uint16_t d)
|
341
|
-
{
|
342
|
-
msgpack_pack_real_uint16(x, d);
|
343
|
-
}
|
344
|
-
|
345
|
-
msgpack_pack_inline_func(_uint32)(msgpack_pack_user x, uint32_t d)
|
346
|
-
{
|
347
|
-
msgpack_pack_real_uint32(x, d);
|
348
|
-
}
|
349
|
-
|
350
|
-
msgpack_pack_inline_func(_uint64)(msgpack_pack_user x, uint64_t d)
|
351
|
-
{
|
352
|
-
msgpack_pack_real_uint64(x, d);
|
353
|
-
}
|
354
|
-
|
355
|
-
msgpack_pack_inline_func(_int8)(msgpack_pack_user x, int8_t d)
|
356
|
-
{
|
357
|
-
msgpack_pack_real_int8(x, d);
|
358
|
-
}
|
359
|
-
|
360
|
-
msgpack_pack_inline_func(_int16)(msgpack_pack_user x, int16_t d)
|
361
|
-
{
|
362
|
-
msgpack_pack_real_int16(x, d);
|
363
|
-
}
|
364
|
-
|
365
|
-
msgpack_pack_inline_func(_int32)(msgpack_pack_user x, int32_t d)
|
366
|
-
{
|
367
|
-
msgpack_pack_real_int32(x, d);
|
368
|
-
}
|
369
|
-
|
370
|
-
msgpack_pack_inline_func(_int64)(msgpack_pack_user x, int64_t d)
|
371
|
-
{
|
372
|
-
msgpack_pack_real_int64(x, d);
|
373
|
-
}
|
374
|
-
|
375
|
-
|
376
|
-
#ifdef msgpack_pack_inline_func_cint
|
377
|
-
|
378
|
-
msgpack_pack_inline_func_cint(_short)(msgpack_pack_user x, short d)
|
379
|
-
{
|
380
|
-
#if defined(SIZEOF_SHORT)
|
381
|
-
#if SIZEOF_SHORT == 2
|
382
|
-
msgpack_pack_real_int16(x, d);
|
383
|
-
#elif SIZEOF_SHORT == 4
|
384
|
-
msgpack_pack_real_int32(x, d);
|
385
|
-
#else
|
386
|
-
msgpack_pack_real_int64(x, d);
|
387
|
-
#endif
|
388
|
-
|
389
|
-
#elif defined(SHRT_MAX)
|
390
|
-
#if SHRT_MAX == 0x7fff
|
391
|
-
msgpack_pack_real_int16(x, d);
|
392
|
-
#elif SHRT_MAX == 0x7fffffff
|
393
|
-
msgpack_pack_real_int32(x, d);
|
394
|
-
#else
|
395
|
-
msgpack_pack_real_int64(x, d);
|
396
|
-
#endif
|
397
|
-
|
398
|
-
#else
|
399
|
-
if(sizeof(short) == 2) {
|
400
|
-
msgpack_pack_real_int16(x, d);
|
401
|
-
} else if(sizeof(short) == 4) {
|
402
|
-
msgpack_pack_real_int32(x, d);
|
403
|
-
} else {
|
404
|
-
msgpack_pack_real_int64(x, d);
|
405
|
-
}
|
406
|
-
#endif
|
407
|
-
}
|
408
|
-
|
409
|
-
msgpack_pack_inline_func_cint(_int)(msgpack_pack_user x, int d)
|
410
|
-
{
|
411
|
-
#if defined(SIZEOF_INT)
|
412
|
-
#if SIZEOF_INT == 2
|
413
|
-
msgpack_pack_real_int16(x, d);
|
414
|
-
#elif SIZEOF_INT == 4
|
415
|
-
msgpack_pack_real_int32(x, d);
|
416
|
-
#else
|
417
|
-
msgpack_pack_real_int64(x, d);
|
418
|
-
#endif
|
419
|
-
|
420
|
-
#elif defined(INT_MAX)
|
421
|
-
#if INT_MAX == 0x7fff
|
422
|
-
msgpack_pack_real_int16(x, d);
|
423
|
-
#elif INT_MAX == 0x7fffffff
|
424
|
-
msgpack_pack_real_int32(x, d);
|
425
|
-
#else
|
426
|
-
msgpack_pack_real_int64(x, d);
|
427
|
-
#endif
|
428
|
-
|
429
|
-
#else
|
430
|
-
if(sizeof(int) == 2) {
|
431
|
-
msgpack_pack_real_int16(x, d);
|
432
|
-
} else if(sizeof(int) == 4) {
|
433
|
-
msgpack_pack_real_int32(x, d);
|
434
|
-
} else {
|
435
|
-
msgpack_pack_real_int64(x, d);
|
436
|
-
}
|
437
|
-
#endif
|
438
|
-
}
|
439
|
-
|
440
|
-
msgpack_pack_inline_func_cint(_long)(msgpack_pack_user x, long d)
|
441
|
-
{
|
442
|
-
#if defined(SIZEOF_LONG)
|
443
|
-
#if SIZEOF_LONG == 2
|
444
|
-
msgpack_pack_real_int16(x, d);
|
445
|
-
#elif SIZEOF_LONG == 4
|
446
|
-
msgpack_pack_real_int32(x, d);
|
447
|
-
#else
|
448
|
-
msgpack_pack_real_int64(x, d);
|
449
|
-
#endif
|
450
|
-
|
451
|
-
#elif defined(LONG_MAX)
|
452
|
-
#if LONG_MAX == 0x7fffL
|
453
|
-
msgpack_pack_real_int16(x, d);
|
454
|
-
#elif LONG_MAX == 0x7fffffffL
|
455
|
-
msgpack_pack_real_int32(x, d);
|
456
|
-
#else
|
457
|
-
msgpack_pack_real_int64(x, d);
|
458
|
-
#endif
|
459
|
-
|
460
|
-
#else
|
461
|
-
if(sizeof(long) == 2) {
|
462
|
-
msgpack_pack_real_int16(x, d);
|
463
|
-
} else if(sizeof(long) == 4) {
|
464
|
-
msgpack_pack_real_int32(x, d);
|
465
|
-
} else {
|
466
|
-
msgpack_pack_real_int64(x, d);
|
467
|
-
}
|
468
|
-
#endif
|
469
|
-
}
|
470
|
-
|
471
|
-
msgpack_pack_inline_func_cint(_long_long)(msgpack_pack_user x, long long d)
|
472
|
-
{
|
473
|
-
#if defined(SIZEOF_LONG_LONG)
|
474
|
-
#if SIZEOF_LONG_LONG == 2
|
475
|
-
msgpack_pack_real_int16(x, d);
|
476
|
-
#elif SIZEOF_LONG_LONG == 4
|
477
|
-
msgpack_pack_real_int32(x, d);
|
478
|
-
#else
|
479
|
-
msgpack_pack_real_int64(x, d);
|
480
|
-
#endif
|
481
|
-
|
482
|
-
#elif defined(LLONG_MAX)
|
483
|
-
#if LLONG_MAX == 0x7fffL
|
484
|
-
msgpack_pack_real_int16(x, d);
|
485
|
-
#elif LLONG_MAX == 0x7fffffffL
|
486
|
-
msgpack_pack_real_int32(x, d);
|
487
|
-
#else
|
488
|
-
msgpack_pack_real_int64(x, d);
|
489
|
-
#endif
|
490
|
-
|
491
|
-
#else
|
492
|
-
if(sizeof(long long) == 2) {
|
493
|
-
msgpack_pack_real_int16(x, d);
|
494
|
-
} else if(sizeof(long long) == 4) {
|
495
|
-
msgpack_pack_real_int32(x, d);
|
496
|
-
} else {
|
497
|
-
msgpack_pack_real_int64(x, d);
|
498
|
-
}
|
499
|
-
#endif
|
500
|
-
}
|
501
|
-
|
502
|
-
msgpack_pack_inline_func_cint(_unsigned_short)(msgpack_pack_user x, unsigned short d)
|
503
|
-
{
|
504
|
-
#if defined(SIZEOF_SHORT)
|
505
|
-
#if SIZEOF_SHORT == 2
|
506
|
-
msgpack_pack_real_uint16(x, d);
|
507
|
-
#elif SIZEOF_SHORT == 4
|
508
|
-
msgpack_pack_real_uint32(x, d);
|
509
|
-
#else
|
510
|
-
msgpack_pack_real_uint64(x, d);
|
511
|
-
#endif
|
512
|
-
|
513
|
-
#elif defined(USHRT_MAX)
|
514
|
-
#if USHRT_MAX == 0xffffU
|
515
|
-
msgpack_pack_real_uint16(x, d);
|
516
|
-
#elif USHRT_MAX == 0xffffffffU
|
517
|
-
msgpack_pack_real_uint32(x, d);
|
518
|
-
#else
|
519
|
-
msgpack_pack_real_uint64(x, d);
|
520
|
-
#endif
|
521
|
-
|
522
|
-
#else
|
523
|
-
if(sizeof(unsigned short) == 2) {
|
524
|
-
msgpack_pack_real_uint16(x, d);
|
525
|
-
} else if(sizeof(unsigned short) == 4) {
|
526
|
-
msgpack_pack_real_uint32(x, d);
|
527
|
-
} else {
|
528
|
-
msgpack_pack_real_uint64(x, d);
|
529
|
-
}
|
530
|
-
#endif
|
531
|
-
}
|
532
|
-
|
533
|
-
msgpack_pack_inline_func_cint(_unsigned_int)(msgpack_pack_user x, unsigned int d)
|
534
|
-
{
|
535
|
-
#if defined(SIZEOF_INT)
|
536
|
-
#if SIZEOF_INT == 2
|
537
|
-
msgpack_pack_real_uint16(x, d);
|
538
|
-
#elif SIZEOF_INT == 4
|
539
|
-
msgpack_pack_real_uint32(x, d);
|
540
|
-
#else
|
541
|
-
msgpack_pack_real_uint64(x, d);
|
542
|
-
#endif
|
543
|
-
|
544
|
-
#elif defined(UINT_MAX)
|
545
|
-
#if UINT_MAX == 0xffffU
|
546
|
-
msgpack_pack_real_uint16(x, d);
|
547
|
-
#elif UINT_MAX == 0xffffffffU
|
548
|
-
msgpack_pack_real_uint32(x, d);
|
549
|
-
#else
|
550
|
-
msgpack_pack_real_uint64(x, d);
|
551
|
-
#endif
|
552
|
-
|
553
|
-
#else
|
554
|
-
if(sizeof(unsigned int) == 2) {
|
555
|
-
msgpack_pack_real_uint16(x, d);
|
556
|
-
} else if(sizeof(unsigned int) == 4) {
|
557
|
-
msgpack_pack_real_uint32(x, d);
|
558
|
-
} else {
|
559
|
-
msgpack_pack_real_uint64(x, d);
|
560
|
-
}
|
561
|
-
#endif
|
562
|
-
}
|
563
|
-
|
564
|
-
msgpack_pack_inline_func_cint(_unsigned_long)(msgpack_pack_user x, unsigned long d)
|
565
|
-
{
|
566
|
-
#if defined(SIZEOF_LONG)
|
567
|
-
#if SIZEOF_LONG == 2
|
568
|
-
msgpack_pack_real_uint16(x, d);
|
569
|
-
#elif SIZEOF_LONG == 4
|
570
|
-
msgpack_pack_real_uint32(x, d);
|
571
|
-
#else
|
572
|
-
msgpack_pack_real_uint64(x, d);
|
573
|
-
#endif
|
574
|
-
|
575
|
-
#elif defined(ULONG_MAX)
|
576
|
-
#if ULONG_MAX == 0xffffUL
|
577
|
-
msgpack_pack_real_uint16(x, d);
|
578
|
-
#elif ULONG_MAX == 0xffffffffUL
|
579
|
-
msgpack_pack_real_uint32(x, d);
|
580
|
-
#else
|
581
|
-
msgpack_pack_real_uint64(x, d);
|
582
|
-
#endif
|
583
|
-
|
584
|
-
#else
|
585
|
-
if(sizeof(unsigned long) == 2) {
|
586
|
-
msgpack_pack_real_uint16(x, d);
|
587
|
-
} else if(sizeof(unsigned long) == 4) {
|
588
|
-
msgpack_pack_real_uint32(x, d);
|
589
|
-
} else {
|
590
|
-
msgpack_pack_real_uint64(x, d);
|
591
|
-
}
|
592
|
-
#endif
|
593
|
-
}
|
594
|
-
|
595
|
-
msgpack_pack_inline_func_cint(_unsigned_long_long)(msgpack_pack_user x, unsigned long long d)
|
596
|
-
{
|
597
|
-
#if defined(SIZEOF_LONG_LONG)
|
598
|
-
#if SIZEOF_LONG_LONG == 2
|
599
|
-
msgpack_pack_real_uint16(x, d);
|
600
|
-
#elif SIZEOF_LONG_LONG == 4
|
601
|
-
msgpack_pack_real_uint32(x, d);
|
602
|
-
#else
|
603
|
-
msgpack_pack_real_uint64(x, d);
|
604
|
-
#endif
|
605
|
-
|
606
|
-
#elif defined(ULLONG_MAX)
|
607
|
-
#if ULLONG_MAX == 0xffffUL
|
608
|
-
msgpack_pack_real_uint16(x, d);
|
609
|
-
#elif ULLONG_MAX == 0xffffffffUL
|
610
|
-
msgpack_pack_real_uint32(x, d);
|
611
|
-
#else
|
612
|
-
msgpack_pack_real_uint64(x, d);
|
613
|
-
#endif
|
614
|
-
|
615
|
-
#else
|
616
|
-
if(sizeof(unsigned long long) == 2) {
|
617
|
-
msgpack_pack_real_uint16(x, d);
|
618
|
-
} else if(sizeof(unsigned long long) == 4) {
|
619
|
-
msgpack_pack_real_uint32(x, d);
|
620
|
-
} else {
|
621
|
-
msgpack_pack_real_uint64(x, d);
|
622
|
-
}
|
623
|
-
#endif
|
624
|
-
}
|
625
|
-
|
626
|
-
#undef msgpack_pack_inline_func_cint
|
627
|
-
#endif
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
/*
|
632
|
-
* Float
|
633
|
-
*/
|
634
|
-
|
635
|
-
msgpack_pack_inline_func(_float)(msgpack_pack_user x, float d)
|
636
|
-
{
|
637
|
-
union { float f; uint32_t i; } mem;
|
638
|
-
mem.f = d;
|
639
|
-
unsigned char buf[5];
|
640
|
-
buf[0] = 0xca; _msgpack_store32(&buf[1], mem.i);
|
641
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
642
|
-
}
|
643
|
-
|
644
|
-
msgpack_pack_inline_func(_double)(msgpack_pack_user x, double d)
|
645
|
-
{
|
646
|
-
union { double f; uint64_t i; } mem;
|
647
|
-
mem.f = d;
|
648
|
-
unsigned char buf[9];
|
649
|
-
buf[0] = 0xcb;
|
650
|
-
#if defined(__arm__) && !(__ARM_EABI__) // arm-oabi
|
651
|
-
// https://github.com/msgpack/msgpack-perl/pull/1
|
652
|
-
mem.i = (mem.i & 0xFFFFFFFFUL) << 32UL | (mem.i >> 32UL);
|
653
|
-
#endif
|
654
|
-
_msgpack_store64(&buf[1], mem.i);
|
655
|
-
msgpack_pack_append_buffer(x, buf, 9);
|
656
|
-
}
|
657
|
-
|
658
|
-
|
659
|
-
/*
|
660
|
-
* Nil
|
661
|
-
*/
|
662
|
-
|
663
|
-
msgpack_pack_inline_func(_nil)(msgpack_pack_user x)
|
664
|
-
{
|
665
|
-
static const unsigned char d = 0xc0;
|
666
|
-
msgpack_pack_append_buffer(x, &d, 1);
|
667
|
-
}
|
668
|
-
|
669
|
-
|
670
|
-
/*
|
671
|
-
* Boolean
|
672
|
-
*/
|
673
|
-
|
674
|
-
msgpack_pack_inline_func(_true)(msgpack_pack_user x)
|
675
|
-
{
|
676
|
-
static const unsigned char d = 0xc3;
|
677
|
-
msgpack_pack_append_buffer(x, &d, 1);
|
678
|
-
}
|
679
|
-
|
680
|
-
msgpack_pack_inline_func(_false)(msgpack_pack_user x)
|
681
|
-
{
|
682
|
-
static const unsigned char d = 0xc2;
|
683
|
-
msgpack_pack_append_buffer(x, &d, 1);
|
684
|
-
}
|
685
|
-
|
686
|
-
|
687
|
-
/*
|
688
|
-
* Array
|
689
|
-
*/
|
690
|
-
|
691
|
-
msgpack_pack_inline_func(_array)(msgpack_pack_user x, unsigned int n)
|
692
|
-
{
|
693
|
-
if(n < 16) {
|
694
|
-
unsigned char d = 0x90 | n;
|
695
|
-
msgpack_pack_append_buffer(x, &d, 1);
|
696
|
-
} else if(n < 65536) {
|
697
|
-
unsigned char buf[3];
|
698
|
-
buf[0] = 0xdc; _msgpack_store16(&buf[1], (uint16_t)n);
|
699
|
-
msgpack_pack_append_buffer(x, buf, 3);
|
700
|
-
} else {
|
701
|
-
unsigned char buf[5];
|
702
|
-
buf[0] = 0xdd; _msgpack_store32(&buf[1], (uint32_t)n);
|
703
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
704
|
-
}
|
705
|
-
}
|
706
|
-
|
707
|
-
|
708
|
-
/*
|
709
|
-
* Map
|
710
|
-
*/
|
711
|
-
|
712
|
-
msgpack_pack_inline_func(_map)(msgpack_pack_user x, unsigned int n)
|
713
|
-
{
|
714
|
-
if(n < 16) {
|
715
|
-
unsigned char d = 0x80 | n;
|
716
|
-
msgpack_pack_append_buffer(x, &TAKE8_8(d), 1);
|
717
|
-
} else if(n < 65536) {
|
718
|
-
unsigned char buf[3];
|
719
|
-
buf[0] = 0xde; _msgpack_store16(&buf[1], (uint16_t)n);
|
720
|
-
msgpack_pack_append_buffer(x, buf, 3);
|
721
|
-
} else {
|
722
|
-
unsigned char buf[5];
|
723
|
-
buf[0] = 0xdf; _msgpack_store32(&buf[1], (uint32_t)n);
|
724
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
725
|
-
}
|
726
|
-
}
|
727
|
-
|
728
|
-
|
729
|
-
/*
|
730
|
-
* Raw
|
731
|
-
*/
|
732
|
-
|
733
|
-
msgpack_pack_inline_func(_raw)(msgpack_pack_user x, size_t l)
|
734
|
-
{
|
735
|
-
if(l < 32) {
|
736
|
-
unsigned char d = 0xa0 | (uint8_t)l;
|
737
|
-
msgpack_pack_append_buffer(x, &TAKE8_8(d), 1);
|
738
|
-
} else if(l < 65536) {
|
739
|
-
unsigned char buf[3];
|
740
|
-
buf[0] = 0xda; _msgpack_store16(&buf[1], (uint16_t)l);
|
741
|
-
msgpack_pack_append_buffer(x, buf, 3);
|
742
|
-
} else {
|
743
|
-
unsigned char buf[5];
|
744
|
-
buf[0] = 0xdb; _msgpack_store32(&buf[1], (uint32_t)l);
|
745
|
-
msgpack_pack_append_buffer(x, buf, 5);
|
746
|
-
}
|
747
|
-
}
|
748
|
-
|
749
|
-
msgpack_pack_inline_func(_raw_body)(msgpack_pack_user x, const void* b, size_t l)
|
750
|
-
{
|
751
|
-
msgpack_pack_append_buffer(x, (const unsigned char*)b, l);
|
752
|
-
}
|
753
|
-
|
754
|
-
#undef msgpack_pack_inline_func
|
755
|
-
#undef msgpack_pack_user
|
756
|
-
#undef msgpack_pack_append_buffer
|
757
|
-
|
758
|
-
#undef TAKE8_8
|
759
|
-
#undef TAKE8_16
|
760
|
-
#undef TAKE8_32
|
761
|
-
#undef TAKE8_64
|
762
|
-
|
763
|
-
#undef msgpack_pack_real_uint8
|
764
|
-
#undef msgpack_pack_real_uint16
|
765
|
-
#undef msgpack_pack_real_uint32
|
766
|
-
#undef msgpack_pack_real_uint64
|
767
|
-
#undef msgpack_pack_real_int8
|
768
|
-
#undef msgpack_pack_real_int16
|
769
|
-
#undef msgpack_pack_real_int32
|
770
|
-
#undef msgpack_pack_real_int64
|
771
|
-
|