Skip to content

Commit 1e802a6

Browse files
author
E-MEDIA\e.brinette
committed
Add support for 'B" as unsigned byte and 'i' as unsigned int
1 parent 6ccf30e commit 1e802a6

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

lib/codec.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,11 @@ function encodeFieldValue(buffer, value, offset) {
188188
tag('b');
189189
buffer.writeInt8(val, offset); offset++;
190190
break;
191+
case 'unsigned byte':
192+
case 'uint8':
193+
tag('B');
194+
buffer.writeUInt8(val, offset); offset++;
195+
break;
191196
case 'short':
192197
case 'int16':
193198
tag('s');
@@ -202,6 +207,11 @@ function encodeFieldValue(buffer, value, offset) {
202207
tag('I');
203208
buffer.writeInt32BE(val, offset); offset += 4;
204209
break;
210+
case 'unsignedint':
211+
case 'uint32':
212+
tag('i');
213+
buffer.writeUInt32BE(val, offset); offset += 4;
214+
break;
205215
case 'long':
206216
case 'int64':
207217
tag('l');
@@ -247,6 +257,9 @@ function decodeFields(slice) {
247257
case 'b':
248258
val = slice.readInt8(offset); offset++;
249259
break;
260+
case 'B':
261+
val = slice.readUInt8(offset); offset++;
262+
break;
250263
case 'S':
251264
len = slice.readUInt32BE(offset); offset += 4;
252265
val = slice.toString('utf8', offset, offset + len);
@@ -255,6 +268,9 @@ function decodeFields(slice) {
255268
case 'I':
256269
val = slice.readInt32BE(offset); offset += 4;
257270
break;
271+
case 'i':
272+
val = slice.readUInt32BE(offset); offset += 4;
273+
break;
258274
case 'D': // only positive decimals, apparently.
259275
var places = slice[offset]; offset++;
260276
var digits = slice.readUInt32BE(offset); offset += 4;

0 commit comments

Comments
 (0)