fix offsets greater than 32 bits; don't use js bitwise operators

This commit is contained in:
Brandon Liu
2021-04-03 15:14:59 +08:00
parent 1207670180
commit eabceee4c4

View File

@@ -7,12 +7,17 @@
root.pmtiles = factory() root.pmtiles = factory()
} }
}(typeof self !== 'undefined' ? self : this, function () { }(typeof self !== 'undefined' ? self : this, function () {
const shift = (number, shift) => {
return number * Math.pow(2, shift)
}
const getUint24 = (dataview, pos) => { const getUint24 = (dataview, pos) => {
return (dataview.getUint16(pos+1,true) << 8) + dataview.getUint8(pos,true) return shift(dataview.getUint16(pos+1,true),8) + dataview.getUint8(pos,true)
} }
const getUint48 = (dataview, pos) => { const getUint48 = (dataview, pos) => {
return (dataview.getUint32(pos+2,true) << 16) + dataview.getUint16(pos,true) return shift(dataview.getUint32(pos+2,true),16) + dataview.getUint16(pos,true)
} }
const parseHeader = dataview => { const parseHeader = dataview => {