fix: cast to long for shift
This commit is contained in:
parent
92abdbb328
commit
5b2cd72940
@ -17,12 +17,11 @@ package org.oscim.tiling.source.common;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import org.oscim.backend.Log;
|
||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.tiling.source.ITileDataSink;
|
import org.oscim.tiling.source.ITileDataSink;
|
||||||
import org.oscim.utils.UTF8Decoder;
|
import org.oscim.utils.UTF8Decoder;
|
||||||
|
|
||||||
import org.oscim.backend.Log;
|
|
||||||
|
|
||||||
public abstract class PbfDecoder {
|
public abstract class PbfDecoder {
|
||||||
private final static String TAG = PbfDecoder.class.getName();
|
private final static String TAG = PbfDecoder.class.getName();
|
||||||
|
|
||||||
@ -164,14 +163,14 @@ public abstract class PbfDecoder {
|
|||||||
if (bufferPos + 8 > bufferFill)
|
if (bufferPos + 8 > bufferFill)
|
||||||
fillBuffer(8);
|
fillBuffer(8);
|
||||||
|
|
||||||
long val = (buffer[bufferPos++] & 0xFF
|
long val = ((long) buffer[bufferPos++] & 0xFF
|
||||||
| (buffer[bufferPos++] & 0xFF) << 8
|
| ((long) buffer[bufferPos++] & 0xFF) << 8
|
||||||
| (buffer[bufferPos++] & 0xFF) << 16
|
| ((long) buffer[bufferPos++] & 0xFF) << 16
|
||||||
| (buffer[bufferPos++] & 0xFF) << 24
|
| ((long) buffer[bufferPos++] & 0xFF) << 24
|
||||||
| (buffer[bufferPos++] & 0xFF) << 32
|
| ((long) buffer[bufferPos++] & 0xFF) << 32
|
||||||
| (buffer[bufferPos++] & 0xFF) << 40
|
| ((long) buffer[bufferPos++] & 0xFF) << 40
|
||||||
| (buffer[bufferPos++] & 0xFF) << 48
|
| ((long) buffer[bufferPos++] & 0xFF) << 48
|
||||||
| (buffer[bufferPos++] & 0xFF) << 56);
|
| ((long) buffer[bufferPos++] & 0xFF) << 56);
|
||||||
|
|
||||||
return Double.longBitsToDouble(val);
|
return Double.longBitsToDouble(val);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user