diff --git a/index.js b/index.js index 6894374..40b0ce1 100644 --- a/index.js +++ b/index.js @@ -1685,7 +1685,7 @@ svcparam.decode = function (buf, offset) { let nameoff = offset let rem = len while (rem >= 2) { - const namelen = buf.readUint8(nameoff) + const namelen = buf.readUInt8(nameoff) nameoff++ rem-- if (namelen > rem) { @@ -1801,8 +1801,10 @@ rhttpssvc.encode = function (data, buf, offset) { rhttpssvc.encode.bytes += name.encode.bytes offset += name.encode.bytes - for (const [key, value] of Object.entries(data.values || {})) { - let val = { key, value } + if (!data.values) data.values = {} + for (const key in data.values) { + let val = { key, value: data.values[key] } + console.log(`val: ${val}`) svcparam.encode(val, buf, offset) offset += svcparam.encode.bytes rhttpssvc.encode.bytes += svcparam.encode.bytes @@ -1845,8 +1847,9 @@ rhttpssvc.encodingLength = function (data) { 2 + // rdlen 2 + // priority name.encodingLength(data.name) - for (const [key, value] of Object.entries(data.values || {})) { - len += svcparam.encodingLength({ key, value }) + if (!data.values) data.values = {} + for (const key in data.values) { + len += svcparam.encodingLength({ key, value: data.values[key] }) } return len }