msgpack 0.3.0 → 0.3.1

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/Rakefile CHANGED
@@ -17,7 +17,7 @@ DESCRIPTION = "Binary-based efficient data interchange format."
17
17
  RUBYFORGE_PROJECT = "msgpack"
18
18
  HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
19
19
  BIN_FILES = %w( )
20
- VERS = "0.3.0"
20
+ VERS = "0.3.1"
21
21
 
22
22
  #REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
23
23
  REV = nil
@@ -24,29 +24,79 @@
24
24
  #endif
25
25
  #endif
26
26
 
27
+
27
28
  #ifdef __LITTLE_ENDIAN__
28
29
 
29
- #define STORE_BE16(d) \
30
- ((char*)&d)[1], ((char*)&d)[0]
30
+ #define STORE8_BE8(d) \
31
+ ((uint8_t*)&d)[0]
32
+
33
+
34
+ #define STORE16_BE8(d) \
35
+ ((uint8_t*)&d)[0]
36
+
37
+ #define STORE16_BE16(d) \
38
+ ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
39
+
40
+
41
+ #define STORE32_BE8(d) \
42
+ ((uint8_t*)&d)[0]
43
+
44
+ #define STORE32_BE16(d) \
45
+ ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
31
46
 
32
- #define STORE_BE32(d) \
33
- ((char*)&d)[3], ((char*)&d)[2], ((char*)&d)[1], ((char*)&d)[0]
47
+ #define STORE32_BE32(d) \
48
+ ((uint8_t*)&d)[3], ((uint8_t*)&d)[2], ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
49
+
50
+
51
+ #define STORE64_BE8(d) \
52
+ ((uint8_t*)&d)[0]
53
+
54
+ #define STORE64_BE16(d) \
55
+ ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
56
+
57
+ #define STORE64_BE32(d) \
58
+ ((uint8_t*)&d)[3], ((uint8_t*)&d)[2], ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
59
+
60
+ #define STORE64_BE64(d) \
61
+ ((uint8_t*)&d)[7], ((uint8_t*)&d)[6], ((uint8_t*)&d)[5], ((uint8_t*)&d)[4], \
62
+ ((uint8_t*)&d)[3], ((uint8_t*)&d)[2], ((uint8_t*)&d)[1], ((uint8_t*)&d)[0]
34
63
 
35
- #define STORE_BE64(d) \
36
- ((char*)&d)[7], ((char*)&d)[6], ((char*)&d)[5], ((char*)&d)[4], \
37
- ((char*)&d)[3], ((char*)&d)[2], ((char*)&d)[1], ((char*)&d)[0]
38
64
 
39
65
  #elif __BIG_ENDIAN__
40
66
 
41
- #define STORE_BE16(d) \
42
- ((char*)&d)[0], ((char*)&d)[1]
67
+ #define STORE8_BE8(d) \
68
+ ((uint8_t*)&d)[0]
69
+
70
+
71
+ #define STORE16_BE8(d) \
72
+ ((uint8_t*)&d)[1]
43
73
 
44
- #define STORE_BE32(d) \
45
- ((char*)&d)[0], ((char*)&d)[1], ((char*)&d)[2], ((char*)&d)[3]
74
+ #define STORE16_BE16(d) \
75
+ ((uint8_t*)&d)[0], ((uint8_t*)&d)[1]
46
76
 
47
- #define STORE_BE64(d) \
48
- ((char*)&d)[0], ((char*)&d)[1], ((char*)&d)[2], ((char*)&d)[3], \
49
- ((char*)&d)[4], ((char*)&d)[5], ((char*)&d)[6], ((char*)&d)[7]
77
+
78
+ #define STORE32_BE8(d) \
79
+ ((uint8_t*)&d)[3]
80
+
81
+ #define STORE32_BE16(d) \
82
+ ((uint8_t*)&d)[2], ((uint8_t*)&d)[3]
83
+
84
+ #define STORE32_BE32(d) \
85
+ ((uint8_t*)&d)[0], ((uint8_t*)&d)[1], ((uint8_t*)&d)[2], ((uint8_t*)&d)[3]
86
+
87
+
88
+ #define STORE64_BE8(d) \
89
+ ((uint8_t*)&d)[7]
90
+
91
+ #define STORE64_BE16(d) \
92
+ ((uint8_t*)&d)[6], ((uint8_t*)&d)[7]
93
+
94
+ #define STORE64_BE32(d) \
95
+ ((uint8_t*)&d)[4], ((uint8_t*)&d)[5], ((uint8_t*)&d)[6], ((uint8_t*)&d)[7]
96
+
97
+ #define STORE64_BE64(d) \
98
+ ((uint8_t*)&d)[0], ((uint8_t*)&d)[1], ((uint8_t*)&d)[2], ((uint8_t*)&d)[3], \
99
+ ((uint8_t*)&d)[4], ((uint8_t*)&d)[5], ((uint8_t*)&d)[6], ((uint8_t*)&d)[7]
50
100
 
51
101
  #endif
52
102
 
@@ -71,10 +121,10 @@
71
121
  do { \
72
122
  if(d < (1<<7)) { \
73
123
  /* fixnum */ \
74
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
124
+ msgpack_pack_append_buffer(x, &STORE8_BE8(d), 1); \
75
125
  } else { \
76
126
  /* unsigned 8 */ \
77
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
127
+ const unsigned char buf[2] = {0xcc, STORE8_BE8(d)}; \
78
128
  msgpack_pack_append_buffer(x, buf, 2); \
79
129
  } \
80
130
  } while(0)
@@ -83,14 +133,14 @@ do { \
83
133
  do { \
84
134
  if(d < (1<<7)) { \
85
135
  /* fixnum */ \
86
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
136
+ msgpack_pack_append_buffer(x, &STORE16_BE8(d), 1); \
87
137
  } else if(d < (1<<8)) { \
88
138
  /* unsigned 8 */ \
89
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
139
+ const unsigned char buf[2] = {0xcc, STORE16_BE8(d)}; \
90
140
  msgpack_pack_append_buffer(x, buf, 2); \
91
141
  } else { \
92
142
  /* unsigned 16 */ \
93
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
143
+ const unsigned char buf[3] = {0xcd, STORE16_BE16(d)}; \
94
144
  msgpack_pack_append_buffer(x, buf, 3); \
95
145
  } \
96
146
  } while(0)
@@ -100,20 +150,20 @@ do { \
100
150
  if(d < (1<<8)) { \
101
151
  if(d < (1<<7)) { \
102
152
  /* fixnum */ \
103
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
153
+ msgpack_pack_append_buffer(x, &STORE32_BE8(d), 1); \
104
154
  } else { \
105
155
  /* unsigned 8 */ \
106
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
156
+ const unsigned char buf[2] = {0xcc, STORE32_BE8(d)}; \
107
157
  msgpack_pack_append_buffer(x, buf, 2); \
108
158
  } \
109
159
  } else { \
110
160
  if(d < (1<<16)) { \
111
161
  /* unsigned 16 */ \
112
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
162
+ const unsigned char buf[3] = {0xcd, STORE32_BE16(d)}; \
113
163
  msgpack_pack_append_buffer(x, buf, 3); \
114
164
  } else { \
115
165
  /* unsigned 32 */ \
116
- const unsigned char buf[5] = {0xce, STORE_BE32(d)}; \
166
+ const unsigned char buf[5] = {0xce, STORE32_BE32(d)}; \
117
167
  msgpack_pack_append_buffer(x, buf, 5); \
118
168
  } \
119
169
  } \
@@ -124,24 +174,24 @@ do { \
124
174
  if(d < (1ULL<<8)) { \
125
175
  if(d < (1<<7)) { \
126
176
  /* fixnum */ \
127
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
177
+ msgpack_pack_append_buffer(x, &STORE64_BE8(d), 1); \
128
178
  } else { \
129
179
  /* unsigned 8 */ \
130
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
180
+ const unsigned char buf[2] = {0xcc, STORE64_BE8(d)}; \
131
181
  msgpack_pack_append_buffer(x, buf, 2); \
132
182
  } \
133
183
  } else { \
134
184
  if(d < (1ULL<<16)) { \
135
185
  /* signed 16 */ \
136
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
186
+ const unsigned char buf[3] = {0xcd, STORE64_BE16(d)}; \
137
187
  msgpack_pack_append_buffer(x, buf, 3); \
138
188
  } else if(d < (1ULL<<32)) { \
139
189
  /* signed 32 */ \
140
- const unsigned char buf[5] = {0xce, STORE_BE32(d)}; \
190
+ const unsigned char buf[5] = {0xce, STORE64_BE32(d)}; \
141
191
  msgpack_pack_append_buffer(x, buf, 5); \
142
192
  } else { \
143
193
  /* signed 64 */ \
144
- const unsigned char buf[9] = {0xcf, STORE_BE64(d)}; \
194
+ const unsigned char buf[9] = {0xcf, STORE64_BE64(d)}; \
145
195
  msgpack_pack_append_buffer(x, buf, 9); \
146
196
  } \
147
197
  } \
@@ -151,11 +201,11 @@ do { \
151
201
  do { \
152
202
  if(d < -(1<<5)) { \
153
203
  /* signed 8 */ \
154
- const unsigned char buf[2] = {0xd0, d}; \
204
+ const unsigned char buf[2] = {0xd0, STORE8_BE8(d)}; \
155
205
  msgpack_pack_append_buffer(x, buf, 2); \
156
206
  } else { \
157
207
  /* fixnum */ \
158
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
208
+ msgpack_pack_append_buffer(x, &STORE8_BE8(d), 1); \
159
209
  } \
160
210
  } while(0)
161
211
 
@@ -164,24 +214,24 @@ do { \
164
214
  if(d < -(1<<5)) { \
165
215
  if(d < -(1<<7)) { \
166
216
  /* signed 16 */ \
167
- const unsigned char buf[3] = {0xd1, STORE_BE16(d)}; \
217
+ const unsigned char buf[3] = {0xd1, STORE16_BE16(d)}; \
168
218
  msgpack_pack_append_buffer(x, buf, 3); \
169
219
  } else { \
170
220
  /* signed 8 */ \
171
- const unsigned char buf[2] = {0xd0, (uint8_t)d}; \
221
+ const unsigned char buf[2] = {0xd0, STORE16_BE8(d)}; \
172
222
  msgpack_pack_append_buffer(x, buf, 2); \
173
223
  } \
174
224
  } else if(d < (1<<7)) { \
175
225
  /* fixnum */ \
176
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
226
+ msgpack_pack_append_buffer(x, &STORE16_BE8(d), 1); \
177
227
  } else { \
178
228
  if(d < (1<<8)) { \
179
229
  /* unsigned 8 */ \
180
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
230
+ const unsigned char buf[2] = {0xcc, STORE16_BE8(d)}; \
181
231
  msgpack_pack_append_buffer(x, buf, 2); \
182
232
  } else { \
183
233
  /* unsigned 16 */ \
184
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
234
+ const unsigned char buf[3] = {0xcd, STORE16_BE16(d)}; \
185
235
  msgpack_pack_append_buffer(x, buf, 3); \
186
236
  } \
187
237
  } \
@@ -192,32 +242,32 @@ do { \
192
242
  if(d < -(1<<5)) { \
193
243
  if(d < -(1<<15)) { \
194
244
  /* signed 32 */ \
195
- const unsigned char buf[5] = {0xd2, STORE_BE32(d)}; \
245
+ const unsigned char buf[5] = {0xd2, STORE32_BE32(d)}; \
196
246
  msgpack_pack_append_buffer(x, buf, 5); \
197
247
  } else if(d < -(1<<7)) { \
198
248
  /* signed 16 */ \
199
- const unsigned char buf[3] = {0xd1, STORE_BE16(d)}; \
249
+ const unsigned char buf[3] = {0xd1, STORE32_BE16(d)}; \
200
250
  msgpack_pack_append_buffer(x, buf, 3); \
201
251
  } else { \
202
252
  /* signed 8 */ \
203
- const unsigned char buf[2] = {0xd0, (uint8_t)d}; \
253
+ const unsigned char buf[2] = {0xd0, STORE32_BE8(d)}; \
204
254
  msgpack_pack_append_buffer(x, buf, 2); \
205
255
  } \
206
256
  } else if(d < (1<<7)) { \
207
257
  /* fixnum */ \
208
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
258
+ msgpack_pack_append_buffer(x, &STORE32_BE8(d), 1); \
209
259
  } else { \
210
260
  if(d < (1<<8)) { \
211
261
  /* unsigned 8 */ \
212
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
262
+ const unsigned char buf[2] = {0xcc, STORE32_BE8(d)}; \
213
263
  msgpack_pack_append_buffer(x, buf, 2); \
214
264
  } else if(d < (1<<16)) { \
215
265
  /* unsigned 16 */ \
216
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
266
+ const unsigned char buf[3] = {0xcd, STORE32_BE16(d)}; \
217
267
  msgpack_pack_append_buffer(x, buf, 3); \
218
268
  } else { \
219
269
  /* unsigned 32 */ \
220
- const unsigned char buf[5] = {0xce, STORE_BE32(d)}; \
270
+ const unsigned char buf[5] = {0xce, STORE32_BE32(d)}; \
221
271
  msgpack_pack_append_buffer(x, buf, 5); \
222
272
  } \
223
273
  } \
@@ -229,46 +279,46 @@ do { \
229
279
  if(d < -(1LL<<15)) { \
230
280
  if(d < -(1LL<<31)) { \
231
281
  /* signed 64 */ \
232
- const unsigned char buf[9] = {0xd3, STORE_BE64(d)}; \
282
+ const unsigned char buf[9] = {0xd3, STORE64_BE64(d)}; \
233
283
  msgpack_pack_append_buffer(x, buf, 9); \
234
284
  } else { \
235
285
  /* signed 32 */ \
236
- const unsigned char buf[5] = {0xd2, STORE_BE32(d)}; \
286
+ const unsigned char buf[5] = {0xd2, STORE64_BE32(d)}; \
237
287
  msgpack_pack_append_buffer(x, buf, 5); \
238
288
  } \
239
289
  } else { \
240
290
  if(d < -(1<<7)) { \
241
291
  /* signed 16 */ \
242
- const unsigned char buf[3] = {0xd1, STORE_BE16(d)}; \
292
+ const unsigned char buf[3] = {0xd1, STORE64_BE16(d)}; \
243
293
  msgpack_pack_append_buffer(x, buf, 3); \
244
294
  } else { \
245
295
  /* signed 8 */ \
246
- const unsigned char buf[2] = {0xd0, (uint8_t)d}; \
296
+ const unsigned char buf[2] = {0xd0, STORE64_BE8(d)}; \
247
297
  msgpack_pack_append_buffer(x, buf, 2); \
248
298
  } \
249
299
  } \
250
300
  } else if(d < (1<<7)) { \
251
301
  /* fixnum */ \
252
- msgpack_pack_append_buffer(x, (uint8_t*)&d, 1); \
302
+ msgpack_pack_append_buffer(x, &STORE64_BE8(d), 1); \
253
303
  } else { \
254
304
  if(d < (1LL<<16)) { \
255
305
  if(d < (1<<8)) { \
256
306
  /* unsigned 8 */ \
257
- const unsigned char buf[2] = {0xcc, (uint8_t)d}; \
307
+ const unsigned char buf[2] = {0xcc, STORE64_BE8(d)}; \
258
308
  msgpack_pack_append_buffer(x, buf, 2); \
259
309
  } else { \
260
310
  /* unsigned 16 */ \
261
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)}; \
311
+ const unsigned char buf[3] = {0xcd, STORE64_BE16(d)}; \
262
312
  msgpack_pack_append_buffer(x, buf, 3); \
263
313
  } \
264
314
  } else { \
265
315
  if(d < (1LL<<32)) { \
266
316
  /* unsigned 32 */ \
267
- const unsigned char buf[5] = {0xce, STORE_BE32(d)}; \
317
+ const unsigned char buf[5] = {0xce, STORE64_BE32(d)}; \
268
318
  msgpack_pack_append_buffer(x, buf, 5); \
269
319
  } else { \
270
320
  /* unsigned 64 */ \
271
- const unsigned char buf[9] = {0xcf, STORE_BE64(d)}; \
321
+ const unsigned char buf[9] = {0xcf, STORE64_BE64(d)}; \
272
322
  msgpack_pack_append_buffer(x, buf, 9); \
273
323
  } \
274
324
  } \
@@ -280,49 +330,49 @@ do { \
280
330
 
281
331
  msgpack_pack_inline_func_fastint(_uint8)(msgpack_pack_user x, uint8_t d)
282
332
  {
283
- const unsigned char buf[2] = {0xcc, d};
333
+ const unsigned char buf[2] = {0xcc, STORE8_BE8(d)};
284
334
  msgpack_pack_append_buffer(x, buf, 2);
285
335
  }
286
336
 
287
337
  msgpack_pack_inline_func_fastint(_uint16)(msgpack_pack_user x, uint16_t d)
288
338
  {
289
- const unsigned char buf[3] = {0xcd, STORE_BE16(d)};
339
+ const unsigned char buf[3] = {0xcd, STORE16_BE16(d)};
290
340
  msgpack_pack_append_buffer(x, buf, 3);
291
341
  }
292
342
 
293
343
  msgpack_pack_inline_func_fastint(_uint32)(msgpack_pack_user x, uint32_t d)
294
344
  {
295
- const unsigned char buf[5] = {0xce, STORE_BE32(d)};
345
+ const unsigned char buf[5] = {0xce, STORE32_BE32(d)};
296
346
  msgpack_pack_append_buffer(x, buf, 5);
297
347
  }
298
348
 
299
349
  msgpack_pack_inline_func_fastint(_uint64)(msgpack_pack_user x, uint64_t d)
300
350
  {
301
- const unsigned char buf[9] = {0xcf, STORE_BE64(d)};
351
+ const unsigned char buf[9] = {0xcf, STORE64_BE64(d)};
302
352
  msgpack_pack_append_buffer(x, buf, 9);
303
353
  }
304
354
 
305
355
  msgpack_pack_inline_func_fastint(_int8)(msgpack_pack_user x, int8_t d)
306
356
  {
307
- const unsigned char buf[2] = {0xd0, d};
357
+ const unsigned char buf[2] = {0xd0, STORE8_BE8(d)};
308
358
  msgpack_pack_append_buffer(x, buf, 2);
309
359
  }
310
360
 
311
361
  msgpack_pack_inline_func_fastint(_int16)(msgpack_pack_user x, int16_t d)
312
362
  {
313
- const unsigned char buf[3] = {0xd1, STORE_BE16(d)};
363
+ const unsigned char buf[3] = {0xd1, STORE16_BE16(d)};
314
364
  msgpack_pack_append_buffer(x, buf, 3);
315
365
  }
316
366
 
317
367
  msgpack_pack_inline_func_fastint(_int32)(msgpack_pack_user x, int32_t d)
318
368
  {
319
- const unsigned char buf[5] = {0xd2, STORE_BE32(d)};
369
+ const unsigned char buf[5] = {0xd2, STORE32_BE32(d)};
320
370
  msgpack_pack_append_buffer(x, buf, 5);
321
371
  }
322
372
 
323
373
  msgpack_pack_inline_func_fastint(_int64)(msgpack_pack_user x, int64_t d)
324
374
  {
325
- const unsigned char buf[9] = {0xd3, STORE_BE64(d)};
375
+ const unsigned char buf[9] = {0xd3, STORE64_BE64(d)};
326
376
  msgpack_pack_append_buffer(x, buf, 9);
327
377
  }
328
378
 
@@ -554,7 +604,7 @@ msgpack_pack_inline_func(_float)(msgpack_pack_user x, float d)
554
604
  {
555
605
  union { char buf[4]; uint32_t num; } f;
556
606
  *((float*)&f.buf) = d; // FIXME
557
- const unsigned char buf[5] = {0xca, STORE_BE32(f.num)};
607
+ const unsigned char buf[5] = {0xca, STORE32_BE32(f.num)};
558
608
  msgpack_pack_append_buffer(x, buf, 5);
559
609
  }
560
610
 
@@ -562,7 +612,7 @@ msgpack_pack_inline_func(_double)(msgpack_pack_user x, double d)
562
612
  {
563
613
  union { char buf[8]; uint64_t num; } f;
564
614
  *((double*)&f.buf) = d; // FIXME
565
- const unsigned char buf[9] = {0xcb, STORE_BE64(f.num)};
615
+ const unsigned char buf[9] = {0xcb, STORE64_BE64(f.num)};
566
616
  msgpack_pack_append_buffer(x, buf, 9);
567
617
  }
568
618
 
@@ -606,11 +656,11 @@ msgpack_pack_inline_func(_array)(msgpack_pack_user x, unsigned int n)
606
656
  msgpack_pack_append_buffer(x, &d, 1);
607
657
  } else if(n < 65536) {
608
658
  uint16_t d = (uint16_t)n;
609
- unsigned char buf[3] = {0xdc, STORE_BE16(d)};
659
+ unsigned char buf[3] = {0xdc, STORE16_BE16(d)};
610
660
  msgpack_pack_append_buffer(x, buf, 3);
611
661
  } else {
612
662
  uint32_t d = (uint32_t)n;
613
- unsigned char buf[5] = {0xdd, STORE_BE32(d)};
663
+ unsigned char buf[5] = {0xdd, STORE32_BE32(d)};
614
664
  msgpack_pack_append_buffer(x, buf, 5);
615
665
  }
616
666
  }
@@ -624,14 +674,14 @@ msgpack_pack_inline_func(_map)(msgpack_pack_user x, unsigned int n)
624
674
  {
625
675
  if(n < 16) {
626
676
  unsigned char d = 0x80 | n;
627
- msgpack_pack_append_buffer(x, &d, 1);
677
+ msgpack_pack_append_buffer(x, &STORE8_BE8(d), 1);
628
678
  } else if(n < 65536) {
629
679
  uint16_t d = (uint16_t)n;
630
- unsigned char buf[3] = {0xde, STORE_BE16(d)};
680
+ unsigned char buf[3] = {0xde, STORE16_BE16(d)};
631
681
  msgpack_pack_append_buffer(x, buf, 3);
632
682
  } else {
633
683
  uint32_t d = (uint32_t)n;
634
- unsigned char buf[5] = {0xdf, STORE_BE32(d)};
684
+ unsigned char buf[5] = {0xdf, STORE32_BE32(d)};
635
685
  msgpack_pack_append_buffer(x, buf, 5);
636
686
  }
637
687
  }
@@ -645,14 +695,14 @@ msgpack_pack_inline_func(_raw)(msgpack_pack_user x, size_t l)
645
695
  {
646
696
  if(l < 32) {
647
697
  unsigned char d = 0xa0 | l;
648
- msgpack_pack_append_buffer(x, &d, 1);
698
+ msgpack_pack_append_buffer(x, &STORE8_BE8(d), 1);
649
699
  } else if(l < 65536) {
650
700
  uint16_t d = (uint16_t)l;
651
- unsigned char buf[3] = {0xda, STORE_BE16(d)};
701
+ unsigned char buf[3] = {0xda, STORE16_BE16(d)};
652
702
  msgpack_pack_append_buffer(x, buf, 3);
653
703
  } else {
654
704
  uint32_t d = (uint32_t)l;
655
- unsigned char buf[5] = {0xdb, STORE_BE32(d)};
705
+ unsigned char buf[5] = {0xdb, STORE32_BE32(d)};
656
706
  msgpack_pack_append_buffer(x, buf, 5);
657
707
  }
658
708
  }
@@ -666,9 +716,19 @@ msgpack_pack_inline_func(_raw_body)(msgpack_pack_user x, const void* b, size_t l
666
716
  #undef msgpack_pack_user
667
717
  #undef msgpack_pack_append_buffer
668
718
 
669
- #undef STORE_BE16
670
- #undef STORE_BE32
671
- #undef STORE_BE64
719
+ #undef STORE8_BE8
720
+
721
+ #undef STORE16_BE8
722
+ #undef STORE16_BE16
723
+
724
+ #undef STORE32_BE8
725
+ #undef STORE32_BE16
726
+ #undef STORE32_BE32
727
+
728
+ #undef STORE64_BE8
729
+ #undef STORE64_BE16
730
+ #undef STORE64_BE32
731
+ #undef STORE64_BE64
672
732
 
673
733
  #undef msgpack_pack_real_uint8
674
734
  #undef msgpack_pack_real_uint16
@@ -113,6 +113,80 @@ class MessagePackTestFormat < Test::Unit::TestCase
113
113
  #check_array 5, (1<<32)-1 # memory error
114
114
  end
115
115
 
116
+ it "nil" do
117
+ match nil, "\xc0"
118
+ end
119
+
120
+ it "false" do
121
+ match false, "\xc2"
122
+ end
123
+
124
+ it "true" do
125
+ match true, "\xc3"
126
+ end
127
+
128
+ it "0" do
129
+ match 0, "\x00"
130
+ end
131
+
132
+ it "127" do
133
+ match 127, "\x7f"
134
+ end
135
+
136
+ it "128" do
137
+ match 128, "\xcc\x80"
138
+ end
139
+
140
+ it "256" do
141
+ match 256, "\xcd\x01\x00"
142
+ end
143
+
144
+ it "-1" do
145
+ match -1, "\xff"
146
+ end
147
+
148
+ it "-33" do
149
+ match -33, "\xd0\xdf"
150
+ end
151
+
152
+ it "-129" do
153
+ match -129, "\xd1\xff\x7f"
154
+ end
155
+
156
+ it "{1=>1}" do
157
+ match ({1=>1}), "\x81\x01\x01"
158
+ end
159
+
160
+ it "1.0" do
161
+ match 1.0, "\xcb\x3f\xf0\x00\x00\x00\x00\x00\x00"
162
+ end
163
+
164
+ it "[]" do
165
+ match [], "\x90"
166
+ end
167
+
168
+ it "[0, 1, ..., 14]" do
169
+ match (0..14).to_a, "\x9f\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e"
170
+ end
171
+
172
+ it "[0, 1, ..., 15]" do
173
+ match (0..15).to_a, "\xdc\x00\x10\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
174
+ end
175
+
176
+ it "{}" do
177
+ match ({}), "\x80"
178
+ end
179
+
180
+ it "{0=>0, 1=>1, ..., 14=>14}" do
181
+ a = (0..14).to_a;
182
+ match Hash[*a.zip(a).flatten], "\x8f\x05\x05\x0b\x0b\x00\x00\x06\x06\x0c\x0c\x01\x01\x07\x07\x0d\x0d\x02\x02\x08\x08\x0e\x0e\x03\x03\x09\x09\x04\x04\x0a\x0a"
183
+ end
184
+
185
+ it "{0=>0, 1=>1, ..., 15=>15}" do
186
+ a = (0..15).to_a;
187
+ match Hash[*a.zip(a).flatten], "\xde\x00\x10\x05\x05\x0b\x0b\x00\x00\x06\x06\x0c\x0c\x01\x01\x07\x07\x0d\x0d\x02\x02\x08\x08\x0e\x0e\x03\x03\x09\x09\x0f\x0f\x04\x04\x0a\x0a"
188
+ end
189
+
116
190
  # it "fixmap" do
117
191
  # check_map 1, 0
118
192
  # check_map 1, (1<<4)-1
@@ -143,8 +217,8 @@ class MessagePackTestFormat < Test::Unit::TestCase
143
217
  check num+overhead, Array.new(num)
144
218
  end
145
219
 
146
- def check_map(overhead, num)
147
- # FIXME
220
+ def match(obj, buf)
221
+ assert_equal(obj.to_msgpack, buf)
148
222
  end
149
223
  end
150
224
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FURUHASHI Sadayuki
@@ -9,7 +9,7 @@ autorequire: ""
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-01 00:00:00 +09:00
12
+ date: 2009-03-04 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15